@ecopages/radiant 0.3.0-alpha.6 → 0.3.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- var aM=((F)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(F,{get:(M,H)=>(typeof require<"u"?require:M)[H]}):F)(function(F){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+F+'" is not supported')});var p=Symbol.for("@ecopages/radiant.legacy-instance-initializers");function G(F,M){let $=F[p];if(Array.isArray($)){$.push(M);return}Object.defineProperty(F,p,{value:[M],configurable:!0})}function I(F){let M=[],H=Object.getPrototypeOf(F);while(H&&H!==Object.prototype)M.push(H),H=Object.getPrototypeOf(H);for(let $=M.length-1;$>=0;$-=1){let P=M[$][p];if(!Array.isArray(P))continue;for(let x of P)x(F)}}import{createSubscribableJsxValue as jM}from"@ecopages/jsx";import{trackDependency as MF}from"@ecopages/signals";class HF{read;subscribers=new Set;watcherListeners=new Set;version=0;constructor(F){this.read=F}get(){return MF(this),this.read()}subscribe(F){return this.subscribers.add(F),()=>{this.subscribers.delete(F)}}addWatcher(F){return this.watcherListeners.add(F),()=>{this.watcherListeners.delete(F)}}getVersion(){return this.version}notify(F){this.version+=1;let M;try{this.notifyWatchers()}catch(H){M=H}if(this.publish(F),M)throw M}publish(F){for(let M of this.subscribers)M(F)}notifyWatchers(){let F=[];for(let M of this.watcherListeners)try{M()}catch(H){F.push(H)}if(F.length===1)throw F[0];if(F.length>1)throw AggregateError(F,"Multiple reactive dependency notifications failed.")}}function XM(F){return typeof F==="object"&&F!==null&&typeof F.get==="function"}class k{host;access;shouldAutoBind;bindings;$;reactiveFields=new Map;reactiveDependencies=new Map;reactiveDependencyReaders=new Map;reactiveBindings=new Map;updateCallbacks=new Map;onConnectedCallbacks=[];onDisconnectedCallback=[];constructor(F,M,H){this.host=F;this.access=M;this.shouldAutoBind=H;let $=this.createReactiveBindingNamespace();this.bindings=$,this.$=$}connectHost(){for(let F of this.onConnectedCallbacks)F()}disconnectHost(){for(let F of this.onDisconnectedCallback)F()}notifyUpdate(F,M,H){if(M===H)return;this.reactiveDependencies.get(F)?.notify(H);let $=this.updateCallbacks.get(F);if($)for(let P of $)P()}registerCleanupCallback(F){this.onDisconnectedCallback.push(F)}registerConnectedCallback(F){this.onConnectedCallbacks.push(F)}registerHydrationBinding(F,M){}registerReactiveDependencyReader(F,M){this.reactiveDependencyReaders.set(F,M)}registerUpdateCallback(F,M){if(!this.updateCallbacks.has(F))this.updateCallbacks.set(F,new Set);let H=this.updateCallbacks.get(F);return H.add(M),()=>{if(H.delete(M),H.size===0)this.updateCallbacks.delete(F)}}getReactiveBinding(F){let M=this.reactiveBindings.get(F);if(M)return M;let H=jM({getValue:()=>this.readReactiveBindingValue(F),subscribe:($)=>this.registerUpdateCallback(F,()=>{$(this.readReactiveBindingValue(F))})});return this.reactiveBindings.set(F,H),H}bind(F){return this.getReactiveBinding(F)}defineReactiveBinding(F,M=!0){let H=typeof M==="string"?M:M?`$${F}`:void 0,$=this.access.getBindingTarget?.(this.host)??this.host;if(!H||this.access.hasProperty(this.host,H))return;this.access.defineProperty($,H,{get:()=>this.getReactiveBinding(F),enumerable:!1,configurable:!0})}trackReactiveRead(F){MF(this.getReactiveDependency(F))}defineReactiveAccessor(F,M){let H=M.bind??this.shouldAutoBind();if(this.defineReactiveBinding(F,H),this.registerReactiveDependencyReader(F,M.getValue),this.access.defineProperty(this.host,F,{get:()=>{return this.trackReactiveRead(F),M.getValue()},set:($)=>{let P=M.getValue();if(P===$)return;M.setValue($),this.notifyUpdate(F,P,$)},enumerable:!0,configurable:!0}),M.notifyInitialValue!==void 0)this.notifyUpdate(F,void 0,M.notifyInitialValue)}createReactiveField(F,M,H={}){let $={name:F,value:M,initialValue:M};this.reactiveFields.set(F,$),this.defineReactiveAccessor(F,{bind:H.bind,getValue:()=>this.reactiveFields.get(F)?.value,setValue:(P)=>{this.reactiveFields.set(F,{...$,value:P})},notifyInitialValue:M})}createReactiveBindingNamespace(){return new Proxy(Object.create(null),{get:(F,M)=>{if(typeof M!=="string")return;return this.getReactiveBinding(M)}})}getReactiveDependency(F){let M=this.reactiveDependencies.get(F);if(M)return M;let H=new HF(()=>this.readReactiveDependencyValue(F));return this.reactiveDependencies.set(F,H),H}readReactiveDependencyValue(F){let M=this.reactiveDependencyReaders.get(F);if(M)return M();return this.readReactiveBindingValue(F)}readReactiveBindingValue(F){let M=this.access.readProperty(this.host,F);if(XM(M))return M.get();return M}}var i=Symbol.for("@ecopages/radiant.ssr-preparation-callbacks"),$F=Symbol.for("@ecopages/radiant.ssr-preparation-running");function PF(F,M){let $=F[i];if(Array.isArray($)){$.push(M);return}Object.defineProperty(F,i,{value:[M],configurable:!0})}function xF(F){let M=F,H=M[i];if(!Array.isArray(H))return;M[$F]=!0;try{for(let $ of H)$()}finally{delete M[$F]}}function WF(F){return F.replace(/&/g,"\\u0026").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}var J="data-hydration",XF="data-hydration-type",l="data-hydration-key";function WH(F){let M=F.hydrationKey?` ${l}="${ZM(F.hydrationKey)}"`:"";return`<script type="application/json" ${J} ${XF}="${F.type}"${M}>${F.serializedValue}</script>`}function jH(F){return WF(F)}function XH(F,M){let H=F.textContent;if(!H)return M;try{return JSON.parse(H)}catch{if(typeof console<"u")console.warn(`[@ecopages/radiant] Failed to parse hydration payload from <script ${J}>:`,H.slice(0,120));return M}}function ZH(F,M,H){let $=F.children;if(!$||$.length===0){let P=F.childNodes;if(!P||P.length===0)return null;for(let x=0;x<P.length;x+=1){let W=P[x];if(W.nodeType!==1)continue;let j=W;if(jF(j,M,H))return j}return null}for(let P=0;P<$.length;P+=1)if(jF($[P],M,H))return $[P];return null}function jF(F,M,H){if(F.tagName!=="SCRIPT"||!F.hasAttribute(J)||F.getAttribute(XF)!==M)return!1;if(H!==void 0)return F.getAttribute(l)===H;return!F.hasAttribute(l)}function ZM(F){return F.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}import{createMarkupNodeLike as BM,isKeyedJsxValue as ZF,isSlotJsxValue as GM}from"@ecopages/jsx";var Y="",E="data-radiant-slot-projection";function BF(F){let M=new Map;for(let H of Array.from(F.childNodes)){if(LM(H))continue;QM(M,UM(H),H)}return M}function GF(F){let M;try{M=JSON.parse(F)}catch{if(typeof console<"u")console.warn("[@ecopages/radiant] Failed to parse slot projection payload:",F.slice(0,120));return new Map}let H=new Map;for(let[$,P]of Object.entries(M)){if(!Array.isArray(P)||P.length===0)continue;H.set(n($),P.map((x)=>BM(x)))}return H}function QF(F){let M=Array.from(F.childNodes).filter((H)=>DF(H)).map((H)=>S(H)??"").filter((H)=>H!=="");return M.length>0?M.join(""):void 0}function RF(F){let M={};for(let[H,$]of F.entries()){let P=$.map((x)=>S(x)).filter((x)=>x!==void 0&&x!=="");if(P.length>0)M[H]=P}return Object.keys(M).length>0?JSON.stringify(M):void 0}function UF(F,M){let H=!1,$=(x)=>{if(GM(x))return H=!0,JM(x,M,$);if(ZF(x))return RM(x,$(x.value));if(qM(x))return{_$rType$:1,rootLocalName:x.rootLocalName,strings:x.strings,values:x.values.map((W)=>$(W))};if(qF(x))return Array.from(x,(W)=>$(W));return x},P=$(F);return{containsSlots:H,value:P}}function LF(F){for(let M of Array.from(F.childNodes)){if(!JF(M))continue;let H=M.textContent??void 0;return M.parentNode?.removeChild(M),H}return}function QM(F,M,H){let $=F.get(M);if($){$.push(H);return}F.set(M,[H])}function RM(F,M){return{...F,value:M}}function UM(F){if(F instanceof Element)return n(F.getAttribute("slot"));return Y}function qF(F){return typeof F!=="string"&&typeof F==="object"&&F!==null&&Symbol.iterator in F}function JF(F){return F instanceof HTMLScriptElement&&F.hasAttribute(E)}function DF(F){return F instanceof HTMLScriptElement&&F.hasAttribute(J)}function LM(F){return JF(F)||DF(F)}function qM(F){return typeof F==="object"&&F!==null&&F._$rType$===1&&Array.isArray(F.strings)&&Array.isArray(F.values)}function n(F){return F??Y}function S(F){if(F===void 0||F===null||F===!1||F===!0)return;if(typeof Node<"u"&&F instanceof Node){if(F.nodeType===Node.TEXT_NODE)return F.textContent??"";return F.outerHTML??F.textContent??void 0}if(ZF(F))return S(F.value);if(typeof F==="string"||typeof F==="number"||typeof F==="bigint")return String(F);if(typeof F==="object"&&F!==null&&"outerHTML"in F)return typeof F.outerHTML==="string"?F.outerHTML:F.textContent??void 0;if(qF(F))return Array.from(F,(M)=>S(M)??"").join("");return}function JM(F,M,H){let $=M.get(n(F.name));if($&&$.length>0)return $.length===1?$[0]:$;if(F.fallback===void 0)return"";return H(F.fallback)}var r=Symbol.for("@ecopages/radiant.hydrator-installed");function UH(){globalThis[r]=!0}function LH(){delete globalThis[r]}function AF(){return globalThis[r]===!0}var YF=Symbol.for("@ecopages/radiant.component-ssr-runtime");function zF(){return globalThis[YF]}function JH(F){globalThis[YF]=F}function kF(F){switch(F){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function DM(F){switch(typeof F){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(F))return"array";if(Object.prototype.toString.call(F)==="[object Object]")return"object"}function K(F){switch(F){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function AM(F){try{return JSON.parse(F)}catch{throw TypeError("Invalid JSON string")}}var YM={array(F){let M=AM(F);if(!Array.isArray(M))throw TypeError(`Expected an array but got a value of type "${typeof M}"`);return M},boolean(F){return!(F==="0"||String(F).toLowerCase()==="false")},number(F){return Number(F.replace(/_/g,""))},object(F){let M=JSON.parse(F);if(M===null||typeof M!=="object"||Array.isArray(M))throw TypeError(`expected value of type "object" but instead got value "${F}" of type "${DM(M)}"`);return M},string(F){return F}},TF={default:KF,array:_F,object:_F};function _F(F){return JSON.stringify(F)}function KF(F){return`${F}`}function z(F,M){let H=kF(M);if(!H)throw TypeError(`[radiant-element] Unknown type "${M}"`);return YM[H](F)}function w(F,M){let H=kF(M);if(!H)throw TypeError(`[radiant-element] Unknown type "${M}"`);return(TF[H]??TF.default??KF)(F)}function zM(F){return typeof F==="boolean"}function TM(F){return typeof F==="number"}function _M(F){return typeof F==="string"}function kM(F){return Array.isArray(F)}function KM(F){return typeof F==="object"&&!Array.isArray(F)&&F!==null}function U(F,M){switch(F){case Boolean:return zM(M);case Number:return TM(M);case String:return _M(M);case Array:return kM(M);case Object:return KM(M);default:return!1}}var OF=(F,M,H,$)=>{if(M===Boolean){let x=F.getAttribute(H);if(x===null)return $;return x===""?!0:z(x,M)}let P=F.getAttribute(H);return P!==null?z(P,M):$??K(M)};import{hasHydrationMarkers as OM,hydrate as IM,jsx as SM,render as EM}from"@ecopages/jsx";import{Computed as wM,subtle as CM}from"@ecopages/signals";var VM=fM();function fM(){if(typeof HTMLElement<"u")return HTMLElement;throw Error("RadiantElement requires HTMLElement. Install '@ecopages/radiant/server/light-dom-shim' before importing Radiant components in SSR.")}class V extends VM{bindings;$;reactiveHost;reactiveProperties=new Map;contextProviders=new Map;hydrationBindings=new Map;eventSubscriptions=new Map;eventEmitters=new Map;elementReady=!1;isRendering=!1;isFirstConnectPending=!1;isRenderScheduled=!1;needsRender=!1;projectedSlotContent=new Map;renderSignal;renderWatcher=new CM.Watcher(()=>{this.requestUpdate()});slotProjectionObserver;slotProjectionVersion=0;constructor(){super();this.reactiveHost=new k(this,{defineProperty:(F,M,H)=>Object.defineProperty(F,M,H),getBindingTarget:(F)=>Object.getPrototypeOf(F)??F,hasProperty:(F,M)=>(M in F),readProperty:(F,M)=>F[M]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,I(this)}connectedCallback(){let F=this.isFirstConnectPending;if(this.elementReady=!0,this.reactiveHost.connectHost(),F)return;this.isFirstConnectPending=!0,queueMicrotask(()=>{if(this.isFirstConnectPending=!1,!this.isConnected)return;if(!this.shouldRunRenderLifecycle())return;if(this.ensureSlotProjectionState(),this.observeSlotProjection(),IF(this)){if(this.needsRender=!1,this.hydrate(),this.needsRender)this.update();return}this.update()})}connectedContextCallback(F){}disconnectedCallback(){this.disconnectSlotProjectionObserver(),this.disconnectRenderWatcher(),this.removeAllSubscribedEvents(),this.reactiveHost.disconnectHost()}notifyUpdate(F,M,H){this.reactiveHost.notifyUpdate(F,M,H)}transformAttributeValue(F,M){return F!==null?M?.converter.fromAttribute(F):F}attributeChangedCallback(F,M,H){if(M===H||!this.elementReady)return;if(this.reactiveProperties.has(F)){let $=this.reactiveProperties.get(F),P=this.transformAttributeValue(H,$),x=this.transformAttributeValue(M,$),W=$?$.attribute:F;this[W]=P,this.notifyUpdate(F,x,P)}}renderTemplate({target:F=this,template:M,insert:H="replace",sanitize:$}){let P=$?$(M):M;switch(H){case"replace":F.innerHTML=P;break;case"beforeend":F.insertAdjacentHTML("beforeend",P);break;case"afterbegin":F.insertAdjacentHTML("afterbegin",P);break;case"beforebegin":F.insertAdjacentHTML("beforebegin",P);break;case"afterend":F.insertAdjacentHTML("afterend",P);break}}render(){return SM("slot",{})}renderToString(F={}){if(!this.shouldRunRenderLifecycle())return this.innerHTML;return this.prepareForSsr(),C().renderView(this,F)}renderHost(){return C().renderHost(this)}renderHostToString(F={}){return C().renderHostToString(this,F)}hydrate(){if(!this.shouldRunRenderLifecycle()||!this.isConnected||this.isRendering)return;this.isRendering=!0,this.disconnectSlotProjectionObserver();try{IM(this.resolveTrackedRenderOutput().value,this)}finally{this.isRendering=!1,this.observeSlotProjection()}}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,!this.isConnected||this.isRendering)return;if(this.isFirstConnectPending&&IF(this))return;while(this.needsRender&&this.isConnected){this.needsRender=!1,this.isRendering=!0,this.disconnectSlotProjectionObserver();try{EM(this.resolveTrackedRenderOutput().value,this)}finally{this.isRendering=!1,this.observeSlotProjection()}}}registerReactiveProperty(F){this.reactiveProperties.set(F.name,F)}getReactiveProperties(){return Array.from(this.reactiveProperties.values())}registerReactiveDependencyReader(F,M){this.reactiveHost.registerReactiveDependencyReader(F,M)}registerContextProvider(F,M){this.contextProviders.set(F,M),this.registerHydrationBinding(F,M)}registerHydrationBinding(F,M){this.hydrationBindings.set(F,M)}getContextProviders(){return Array.from(this.contextProviders.values())}getHydrationBindings(){return Array.from(this.hydrationBindings.values())}prepareForSsr(){xF(this)}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return this.render!==V.prototype.render}getHostSsrAttributes(){return C().getHostAttributes(this)}resolveSsrRenderBridge(){let F={};if(this.renderHostToString===V.prototype.renderHostToString)F.renderHostToString=(M)=>this.renderHostToString(M);if(this.renderHost===V.prototype.renderHost)F.renderHost=()=>this.renderHost();return F}registerUpdateCallback(F,M){return this.reactiveHost.registerUpdateCallback(F,M)}getReactiveBinding(F){return this.reactiveHost.getReactiveBinding(F)}bind(F){return this.reactiveHost.bind(F)}defineReactiveBinding(F,M=!0){this.reactiveHost.defineReactiveBinding(F,M)}trackReactiveRead(F){this.reactiveHost.trackReactiveRead(F)}subscribeEvents(F){let M=[];for(let H of F)M.push(this.subscribeEvent(H));return M}subscribeEvent(F){let M=($)=>{if($.target&&$.target.matches(F.selector))F.listener.call(this,$)},H=`${F.type}:${F.selector}`;return this.addEventListener(F.type,M,F.options),this.eventSubscriptions.set(H,{...F,listener:M}),this.unsubscribeEvent.bind(this,H)}unsubscribeEvent(F){let M=this.eventSubscriptions.get(F);if(M)this.removeEventListener(M.type,M.listener,M.options),this.eventSubscriptions.delete(F)}removeAllSubscribedEvents(){for(let F of this.eventSubscriptions.values())this.removeEventListener(F.type,F.listener,F.options);this.eventSubscriptions.clear()}registerCleanupCallback(F){this.reactiveHost.registerCleanupCallback(F)}registerConnectedCallback(F){this.reactiveHost.registerConnectedCallback(F)}registerEventEmitter(F,M){this.eventEmitters.set(F,M)}getRef(F,M=!1){let H=`[data-ref="${F}"]`;if(M)return Array.from(this.querySelectorAll(H));return this.querySelector(H)??null}getSlotElement(F){return this.getSlotElements(F)[0]??null}getSlotElements(F){return this.ensureSlotProjectionState(),(this.projectedSlotContent.get(F??Y)??[]).filter((M)=>typeof Node<"u"&&M instanceof Element)}createReactiveField(F,M,H={}){this.reactiveHost.createReactiveField(F,M,H)}createReactiveProp(F,M){let{type:H,attribute:$,reflect:P,defaultValue:x}=M,W=$??F;if(x!==void 0&&!U(H,x))throw Error(`defaultValue does not match the expected type for ${H.name}`);let j=OF(this,H,W,x);if(this.hasAttribute(W)&&(!P||j==null||j===""))this.removeAttribute(W);let X={type:H,name:F,value:j,initialValue:j,attribute:W,converter:{fromAttribute:(Z)=>z(Z,H),toAttribute:(Z)=>w(Z,H)}};this.registerReactiveProperty(X);let B=(Z)=>{if(P)if(Z==null||Z===""||Z===!1)this.removeAttribute(W);else{let Q=X.converter.toAttribute(Z);this.setAttribute(W,Q)}};if(this.reactiveHost.defineReactiveAccessor(F,{bind:M.bind,getValue:()=>this.reactiveProperties.get(F)?.value,setValue:(Z)=>{this.reactiveProperties.set(F,{...X,value:Z}),B(Z)}}),j!==void 0)queueMicrotask(()=>{let Z=this.reactiveProperties.get(F)?.value;if(Z===void 0)return;B(Z),this.notifyUpdate(F,void 0,Z)})}ensureSlotProjectionState(){if(this.projectedSlotContent.size>0)return;let F=this.isConnected?LF(this):void 0;if(typeof F==="string"&&F!==""){this.projectedSlotContent=GF(F),this.slotProjectionVersion+=1;return}if(this.getHostChildNodeCount()>0)this.projectedSlotContent=BF(this),this.slotProjectionVersion+=1}getHostChildNodeCount(){return"childNodes"in this&&this.childNodes?this.childNodes.length:0}getSlotProjectionScriptTag(){this.ensureSlotProjectionState();let F=RF(this.projectedSlotContent);if(!F)return;return`<script type="application/json" ${E}>${bM(F)}</script>`}getAuthoredHydrationScriptMarkup(){let F=QF(this);if(F)return F;return}handleSlotProjectionMutations(F){let M=!1;for(let H of F){for(let $ of Array.from(H.removedNodes))if(this.removeProjectedSlotNode($))M=!0;for(let $ of Array.from(H.addedNodes)){if($.parentNode!==this)continue;if(this.addProjectedSlotNode($))M=!0}}if(M)this.slotProjectionVersion+=1,this.update()}addProjectedSlotNode(F){if(F instanceof HTMLScriptElement&&(F.hasAttribute(E)||F.hasAttribute(J)))return!1;let M=F instanceof Element?F.getAttribute("slot")??Y:Y,H=this.projectedSlotContent.get(M);if(H){if(H.includes(F))return!1;return H.push(F),!0}return this.projectedSlotContent.set(M,[F]),!0}removeProjectedSlotNode(F){for(let[M,H]of this.projectedSlotContent.entries()){let $=H.indexOf(F);if($===-1)continue;if(H.splice($,1),H.length===0)this.projectedSlotContent.delete(M);return!0}return!1}observeSlotProjection(){if(typeof MutationObserver>"u"||this.slotProjectionObserver||!this.isConnected)return;this.slotProjectionObserver=new MutationObserver((F)=>this.handleSlotProjectionMutations(F)),this.slotProjectionObserver.observe(this,{childList:!0})}disconnectSlotProjectionObserver(){this.slotProjectionObserver?.disconnect(),this.slotProjectionObserver=void 0}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let F=new wM(()=>this.resolveRenderOutput()),M=F.get();if(!this.isConnected)return M;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=F,this.renderWatcher.watch(F),M}resolveRenderOutput(){return this.ensureSlotProjectionState(),UF(this.render(),this.projectedSlotContent)}}function C(){let F=zF();if(!F)throw Error("Radiant SSR runtime is unavailable. Import `@ecopages/radiant/server/render-component` before using instance SSR methods.");return F}function IF(F){return AF()&&OM(F)}function bM(F){return F.replace(/</g,"\\u003c")}import{render as NM}from"@ecopages/jsx";import{Computed as vM,subtle as hM}from"@ecopages/signals";class SF{host;element;bindings;$;reactiveHost;connected=!1;isRendering=!1;isRenderScheduled=!1;needsRender=!1;renderSignal;renderWatcher=new hM.Watcher(()=>{this.requestUpdate()});constructor(F){this.host=F,this.element=F,this.reactiveHost=new k(this,{defineProperty:(M,H,$)=>Object.defineProperty(M,H,$),hasProperty:(M,H)=>(H in M),readProperty:(M,H)=>M[H]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,I(this)}connect(){if(this.connected=!0,this.reactiveHost.connectHost(),this.shouldRunRenderLifecycle())this.update()}connectForSsrRender(){this.connected=!0,this.reactiveHost.connectHost()}disconnect(){this.connected=!1,this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost()}disconnectForSsrRender(){this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost(),this.connected=!1}get isConnected(){return this.connected}render(){return null}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;let F=this.getRenderTarget();if(!F)return;if(this.needsRender=!0,!this.connected||this.isRendering)return;while(this.needsRender){this.needsRender=!1,this.isRendering=!0;try{NM(this.resolveTrackedRenderOutput(),F)}finally{this.isRendering=!1}}}bind(F){return this.reactiveHost.bind(F)}getReactiveBinding(F){return this.reactiveHost.getReactiveBinding(F)}createReactiveField(F,M,H={}){this.reactiveHost.createReactiveField(F,M,H)}createReactiveProp(F,M){let{type:H,defaultValue:$,bind:P}=M;if($!==void 0&&!U(H,$))throw Error(`defaultValue does not match the expected type for ${H.name}`);let x=Object.getOwnPropertyDescriptor(this.host,F),W=this.host,X=W[F]??$??K(H);this.reactiveHost.defineReactiveAccessor(F,{bind:P,getValue:()=>X,setValue:(B)=>{X=B},notifyInitialValue:X}),Object.defineProperty(this.host,F,{get:()=>this[F],set:(B)=>{this[F]=B},enumerable:x?.enumerable??!0,configurable:!0}),this.registerCleanupCallback(()=>{let B=this[F];if(x){if(Object.defineProperty(this.host,F,x),"value"in x&&x.writable)W[F]=B;return}delete W[F];try{W[F]=B}catch{Object.defineProperty(this.host,F,{value:B,writable:!0,enumerable:!0,configurable:!0})}})}defineReactiveBinding(F,M=!0){this.reactiveHost.defineReactiveBinding(F,M)}notifyUpdate(F,M,H){this.reactiveHost.notifyUpdate(F,M,H)}registerUpdateCallback(F,M){return this.reactiveHost.registerUpdateCallback(F,M)}connectedContextCallback(F){}registerContextProvider(F,M){}registerHydrationBinding(F,M){}registerCleanupCallback(F){this.reactiveHost.registerCleanupCallback(F)}registerConnectedCallback(F){this.reactiveHost.registerConnectedCallback(F)}registerReactiveDependencyReader(F,M){this.reactiveHost.registerReactiveDependencyReader(F,M)}trackReactiveRead(F){this.reactiveHost.trackReactiveRead(F)}addEventListener(F,M,H){this.host.addEventListener(F,M,H)}removeEventListener(F,M,H){this.host.removeEventListener(F,M,H)}dispatchEvent(F){return this.host.dispatchEvent(F)}getRef(F,M=!1){let H=`[data-ref="${F}"]`;if(M)return Array.from(this.host.querySelectorAll(H));return this.host.querySelector(H)??null}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return this.render!==SF.prototype.render}getRenderTarget(){return this.host instanceof HTMLElement?this.host:null}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let F=new vM(()=>this.render()),M=F.get();if(!this.connected)return M;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=F,this.renderWatcher.watch(F),M}}var EF=Symbol.for("@ecopages/radiant.controllerIdentifier");function o(F,M){F[EF]=M}function hH(F){return F[EF]}var b="data-controller",wF=Symbol.for("@ecopages/radiant.controller-registry-state");function gM(){let F=globalThis,M=F[wF];if(M)return M;let H={activeRuntimes:new Set,controllerRegistrationStrategy:"keep-current",controllerRegistry:new Map};return F[wF]=H,H}var N=gM(),_=N.controllerRegistry,T=N.activeRuntimes;function CF(F){let M=F.getAttribute(b);if(!M)return[];return M.split(/\s+/).map((H)=>H.trim()).filter((H)=>H.length>0)}function f(F,M){if(F instanceof Element&&F.hasAttribute(b))M(F);for(let H of Array.from(F.querySelectorAll(`[${b}]`)))M(H)}class VF{root;controllersByElement=new Map;observer;stopped=!1;constructor(F=document){this.root=F;this.start()}stop(){if(this.stopped)return;this.stopped=!0,this.observer?.disconnect(),this.observer=void 0;for(let[F,M]of this.controllersByElement)for(let[H]of M)this.disconnectController(F,H);T.delete(this)}reconcileRegisteredController(F){f(this.root,(M)=>{if(!CF(M).includes(F))return;this.connectController(M,F)})}replaceRegisteredController(F){for(let[M,H]of Array.from(this.controllersByElement.entries())){if(!H.has(F))continue;this.disconnectController(M,F)}this.reconcileRegisteredController(F)}start(){if(f(this.root,(M)=>{this.reconcileElement(M)}),typeof MutationObserver>"u"){T.add(this);return}this.observer=new MutationObserver((M)=>{for(let H of M){if(H.type==="attributes"&&H.target instanceof Element){this.reconcileElement(H.target);continue}for(let $ of Array.from(H.removedNodes)){if(!($ instanceof Element))continue;f($,(P)=>{this.disconnectElementControllers(P)})}for(let $ of Array.from(H.addedNodes)){if(!($ instanceof Element))continue;f($,(P)=>{this.reconcileElement(P)})}}});let F=this.root instanceof Document?this.root.documentElement:this.root;this.observer.observe(F,{attributeFilter:[b],attributes:!0,childList:!0,subtree:!0}),T.add(this)}reconcileElement(F){let M=new Set(CF(F)),H=this.controllersByElement.get(F);if(H){for(let $ of H.keys())if(!M.has($))this.disconnectController(F,$)}for(let $ of M)this.connectController(F,$)}connectController(F,M){let H=_.get(M);if(!H)return;let $=this.controllersByElement.get(F);if(!$)$=new Map,this.controllersByElement.set(F,$);if($.has(M))return;let P=new H(F);$.set(M,P),P.connect()}disconnectController(F,M){let H=this.controllersByElement.get(F);if(!H)return;let $=H.get(M);if(!$)return;if($.disconnect(),H.delete(M),H.size===0)this.controllersByElement.delete(F)}disconnectElementControllers(F){let M=this.controllersByElement.get(F);if(!M)return;for(let H of Array.from(M.keys()))this.disconnectController(F,H)}}function uM(F,M){let H=_.get(F);if(H)return H;o(M,F),_.set(F,M);for(let $ of Array.from(T))$.reconcileRegisteredController(F);return M}function mH(F){return _.has(F)}function mM(F,M){if(_.get(F)===M)return M;o(M,F),_.set(F,M);for(let $ of Array.from(T))$.replaceRegisteredController(F);return M}function fF(F){N.controllerRegistrationStrategy=F}function yH(){fF("replace")}function cH(){fF("keep-current")}function bF(F,M){if(N.controllerRegistrationStrategy==="replace")return mM(F,M);return uM(F,M)}function sH(F=document){return new VF(F)}function dH(){for(let F of Array.from(T))F.stop()}function yM(F){return typeof F==="function"}function R(F,M,H,$){if(typeof $==="object")return F(void 0,$);return M(H,$)}function L(F,M,H,$,P){if(typeof $==="object"){if(!yM(H))throw TypeError("Standard method decorators require a method target");return F(H,$)}if(!P)throw TypeError("Legacy method decorators require a property descriptor");return M(H,$,P)}function a(F){if(F instanceof Element)return F;if("host"in F)return F.host;return F.element}function cM(F){return F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function sM(F,M){if(M.converter?.fromAttribute){let H=M.converter.fromAttribute(F);if(F===null&&H===void 0&&"defaultValue"in M)return M.defaultValue;return H}if(M.type){if(F===null)return M.defaultValue??K(M.type);if(M.type===Boolean&&F==="")return!0;return z(F,M.type)}if(F===null)return M.defaultValue;return F}function D(F,M,H){return sM(a(F).getAttribute(M),H)}function dM(F,M,H,$){let P=$.converter?.toAttribute?$.converter.toAttribute(H):$.type?w(H,$.type):H==null?null:String(H);if(P===null){F.removeAttribute(M);return}F.setAttribute(M,P)}function v(F,M,H={}){if(H.type&&H.defaultValue!==void 0&&!U(H.type,H.defaultValue))throw Error(`defaultValue does not match the expected type for ${H.type.name}`);let $=F,P=H.source??cM(M),x=Symbol(`@ecopages/radiant/attr:${M}:observer`),W=Symbol(`@ecopages/radiant/attr:${M}:last-value`),j=H.bind??F.shouldAutoBindReactiveMembers?.()??!1;F.defineReactiveBinding(M,j),F.registerReactiveDependencyReader(M,()=>D(F,P,H)),$[W]=D(F,P,H),Object.defineProperty(F,M,{get(){return F.trackReactiveRead(M),D(this,P,H)},set(Z){let Q=a(this),q=D(this,P,H);dM(Q,P,Z,H);let A=D(this,P,H);if(Object.is(q,A))return;this[W]=A,F.notifyUpdate(M,q,A)},enumerable:!0,configurable:!0});let X=()=>{$[x]?.disconnect()},B=()=>{let Z=D(F,P,H),Q=$[W];if(!Object.is(Q,Z))$[W]=Z,F.notifyUpdate(M,Q,Z);if(typeof MutationObserver>"u")return;let q=a(F);X();let A=new MutationObserver(()=>{let d=D(F,P,H),FF=$[W];if(Object.is(FF,d))return;$[W]=d,F.notifyUpdate(M,FF,d)});A.observe(q,{attributeFilter:[P],attributes:!0}),$[x]=A};B(),F.registerConnectedCallback(B),F.registerCleanupCallback(X)}function NF(F={}){return(M,H)=>{let $=Symbol(`@ecopages/radiant/attr:${H}:installed`);G(M,(P)=>{P.registerConnectedCallback(()=>{if(P[$])return;let x=P[H],W=F.defaultValue===void 0?x:F.defaultValue;v(P,H,{...F,defaultValue:W}),P[$]=!0})})}}function vF(F={}){return function(M,H){let $=String(H.name),P=Symbol(`@ecopages/radiant/attr:${$}:initializer`);return H.addInitializer(function(){let x=this[P],W=F.defaultValue===void 0?x:F.defaultValue;v(this,$,{...F,defaultValue:W})}),function(x){return this[P]=x,x}}}function $0(F={}){function M(H,$){return R(vF(F),NF(F),H,$)}return M}function hF(F,M,H){let $=H.value;return{configurable:!0,get(){if(this===F.prototype||Object.prototype.hasOwnProperty.call(this,M))return $;let P=$.bind(this);return Object.defineProperty(this,M,{value:P,configurable:!0,writable:!0}),P}}}function gF(F,M){let H=String(M.name);if(M.private)throw Error(`'bound' cannot decorate private properties like ${H}.`);M.addInitializer(function(){this[H]=this[H].bind(this)})}function B0(F,M,H){return L(gF,hF,F,M,H)}function R0(F){return function(M){return bF(F,M)}}var uF=Symbol.for("@ecopages/radiant.customElementTagName");function h(F,M){F[uF]=M}function L0(F){return F[uF]}function mF(F,M){return(H)=>{if(h(H,F),typeof customElements<"u"&&!customElements.get(F))customElements.define(F,H,M)}}function yF(F,M){return function(H,$){$.addInitializer(function(){if(h(this,F),typeof customElements<"u"&&!customElements.get(F))customElements.define(F,this,M)})}}function _0(F,M){function H($,P){if(typeof P<"u")return yF(F,M)($,P);return mF(F,M)($)}return H}function g(F,M){let H=null,$=null,P,x=()=>{if(H!==null)clearTimeout(H),H=null},W=()=>{if($===null)return P;let X=$;return $=null,x(),P=X(),P},j=function(...X){$=()=>F.apply(this,X),x(),H=setTimeout(()=>{W()},M)};return j.cancel=()=>{x(),$=null},j.flush=()=>{if($===null)return P;return W()},j.pending=()=>$!==null,j}function cF(F){return(M,H,$)=>{let P=$.value,x=new WeakMap;return $.value=function(...j){let X=x.get(this);if(!X)X=g((...B)=>{return P.apply(this,B)},F),x.set(this,X);X(...j)},$}}function sF(F){return(M)=>{let H=new WeakMap;return function(...$){let P=H.get(this);if(!P)P=g((...x)=>{return M.apply(this,x)},F),H.set(this,P);P(...$)}}}function f0(F){function M(H,$,P){return L(sF(F),cF(F),H,$,P)}return M}class t{host;eventConfig;constructor(F,M){this.host=F,this.eventConfig=M}emit(F){let M=new CustomEvent(this.eventConfig.name,{detail:F,bubbles:this.eventConfig.bubbles,cancelable:this.eventConfig.cancelable,composed:this.eventConfig.composed});this.host.dispatchEvent(M)}}function u(F,M){let H=new t(F,M);return F.registerEventEmitter(M.name,H),H}function dF(F){return(M,H)=>{G(M,($)=>{let P=u($,F);$.registerConnectedCallback(()=>{Object.defineProperty($,H,{get(){return P},enumerable:!0,configurable:!0})})})}}function pF(F){return function(M,H){H.addInitializer(function(){let $=u(this,F);Object.defineProperty(this,H.name,{get(){return $},enumerable:!0,configurable:!0})})}}function i0(F){function M(H,$){return R(pF(F),dF(F),H,$)}return M}var m=Symbol("radiant.shadowRootListenerHooks"),iF=Symbol("radiant.patchedAttachShadow");function nF(F){if(F instanceof Element)return F;if("host"in F)return F.host;return F.element}function pM(F){return!(F instanceof Element)}function lF(F,M,H,$){let P=(x)=>{if(x.target instanceof Element&&x.target.matches(H))$(x)};return F.addEventListener(M.type,P,M.options),()=>{F.removeEventListener(M.type,P,M.options)}}function iM(F,M){let H=nF(F);if(!H[m])H[m]=new Set;if(H[m].add(M),H[iF])return;let $=H.attachShadow;H.attachShadow=function(x){let W=$.call(this,x);for(let j of H[m]??[])j();return W},H[iF]=!0}function y(F,M,H){if(pM(F)&&"scope"in M&&M.scope&&M.scope!=="light")throw Error("RadiantController event listeners only support light DOM scope.");let $=nF(F),P=H.bind(F),x=null,W=null,j=null,X=null,B=!1,Z=()=>{x?.(),W?.(),j?.(),X?.(),x=null,W=null,j=null,X=null},Q=()=>{if(B)return;if("window"in M&&!x)window.addEventListener(M.type,P,M.options),x=()=>{window.removeEventListener(M.type,P,M.options)};if("document"in M&&!W)document.addEventListener(M.type,P,M.options),W=()=>{document.removeEventListener(M.type,P,M.options)};if("selector"in M||"ref"in M){let q="selector"in M?M.selector:`[data-ref='${CSS.escape(M.ref)}']`;if(M.scope!=="shadow"&&!j)j=lF($,M,q,P);if(M.scope!=="light"&&$.shadowRoot&&!X)X=lF($.shadowRoot,M,q,P)}};if("selector"in M||"ref"in M){if(M.scope!=="light")iM(F,()=>{if(F.isConnected)Q()})}if(F.registerConnectedCallback(Q),F.registerCleanupCallback(Z),F.isConnected)Q();return()=>{B=!0,Z()}}function rF(F){return(M,H,$)=>{let P=$.value;return G(M,(x)=>{y(x,F,P.bind(x))}),$}}function oF(F){return function(M,H){H.addInitializer(function(){y(this,F,M.bind(this))})}}function $2(F){function M(H,$,P){return L(oF(F),rF(F),H,$,P)}return M}function aF(F){return(M,H)=>{let $=Symbol(`@ecopages/radiant/on-updated:${H}:cleanup`);G(M,(P)=>{P.registerConnectedCallback(()=>{let x=P[H].bind(P),W=[];if(Array.isArray(F))for(let j of F)W.push(P.registerUpdateCallback(j,x));else if(typeof F==="string")W.push(P.registerUpdateCallback(F,x));P[$]=()=>{for(let j of W)j()}}),P.registerCleanupCallback(()=>{let x=P[$];if(typeof x==="function")x(),delete P[$]})})}}function tF(F){return function(M,H){H.addInitializer(function(){let $=M.bind(this);if(Object.defineProperty(this,H.name,{value:$,configurable:!0,writable:!0}),Array.isArray(F))for(let P of F)this.registerUpdateCallback(P,$);else if(typeof F==="string")this.registerUpdateCallback(F,$)})}}function G2(F){function M(H,$,P){return L(tF(F),aF(F),H,$,P)}return M}var e=Symbol.for("@ecopages/radiant.reactivePropDefinitions");function c(F,M,H){let $=F.constructor,P=$[e]??[];if(P.some((x)=>x.name===M))return;P.push({name:M,options:H}),$[e]=P}function R2(F){return(F.constructor[e]??[]).slice()}function eF({type:F,attribute:M,reflect:H,defaultValue:$,bind:P}){if($!==void 0&&!U(F,$))throw Error(`defaultValue does not match the expected type for ${F.name}`);return(x,W)=>{let j=M??W;c(x,W,{type:F,reflect:H,attribute:j,defaultValue:$,bind:P});let X=Symbol.for(`@ecopages/radiant.ssr-prop:${W}`);Object.defineProperty(x,W,{get(){return this[X]??$},set(B){this[X]=B},configurable:!0,enumerable:!0}),G(x,(B)=>{B.registerConnectedCallback(()=>{let Z=B[W],Q=$===void 0?Z:$;B.createReactiveProp(W,{type:F,reflect:H,attribute:j,defaultValue:Q,bind:P})})})}}function FM({type:F,attribute:M,reflect:H,defaultValue:$,bind:P}){if($!==void 0&&!U(F,$))throw Error(`defaultValue does not match the expected type for ${F.name}`);return function(x,W){let j=String(W.name),X=M??j,B=Symbol(`@ecopages/radiant/reactive-prop:${j}:initializer`);return W.addInitializer(function(){let Z=this[B],Q=$===void 0?Z:$;c(this,j,{type:F,reflect:H,attribute:X,defaultValue:$,bind:P}),this.createReactiveProp(j,{type:F,reflect:H,attribute:X,defaultValue:Q,bind:P})}),function(Z){return this[B]=Z,Z}}}function K2(F){function M(H,$){return R(FM(F),eF(F),H,$)}return M}function lM(F){return!(F instanceof Element)}function nM(F){return"shadowRoot"in F?F.shadowRoot??null:null}function rM(F){return F instanceof Element?F:F.host}function oM(F,M="light"){let H=nM(F);if(M==="shadow")return H?[H]:[];if(M==="both")return H?[F,H]:[F];return[F]}function s(F,M){if(lM(F)&&M.scope&&M.scope!=="light")throw Error("RadiantController queries only support light DOM scope.");let H=rM(F),$="selector"in M?M.selector:`[data-ref="${M.ref}"]`,P=null,x=()=>{let W=oM(H,M.scope);if(M.all)return W.flatMap((j)=>Array.from(j.querySelectorAll($)));for(let j of W){let X=j.querySelector($);if(X)return X}return null};return{get value(){if(M.cache){if(P===null||M.all&&Array.isArray(P)&&!P.length)P=x();return P}return x()}}}function MM({cache:F=!0,...M}){return(H,$)=>{G(H,(P)=>{P.registerConnectedCallback(()=>{let x=s(P,{cache:F,...M});Object.defineProperty(P,$,{get(){return x.value},enumerable:!0,configurable:!0})})})}}function HM(F){return function(M,H){let $=String(H.name);H.addInitializer(function(){let P=s(this,F);Object.defineProperty(this,$,{get(){return P.value},enumerable:!0,configurable:!0})})}}function v2(F){function M(H,$){return R(HM(F),MM(F),H,$)}return M}function O(F,M={}){let H=null,$,P=()=>{if(M.all)return typeof F.getSlotElements==="function"?F.getSlotElements(M.name):[];return typeof F.getSlotElement==="function"?F.getSlotElement(M.name):null};return{get value(){if(M.cache===!1)return P();let x=F.slotProjectionVersion??0;if($!==x)H=P(),$=x;return H}}}function $M(F={}){return(M,H)=>{let $=(W)=>{return typeof Object.getOwnPropertyDescriptor(W,H)?.get==="function"},P=(W)=>{if($(W))return;let j=O(W,F);Object.defineProperty(W,H,{get(){return j.value},enumerable:!0,configurable:!0})},x=new WeakMap;Object.defineProperty(M,H,{get(){let W=x.get(this);if(!W)W=O(this,F),x.set(this,W);return W.value},enumerable:!0,configurable:!0}),G(M,(W)=>{PF(W,()=>{P(W)}),W.registerConnectedCallback(()=>{P(W)})})}}function PM(F={}){return function(M,H){let $=String(H.name);H.addInitializer(function(){let P=O(this,F);Object.defineProperty(this,$,{get(){return P.value},enumerable:!0,configurable:!0})})}}function n2(F={}){function M(H,$){return R(PM(F),$M(F),H,$)}return M}function xM(F,M){G(F,(H)=>{H.registerConnectedCallback(()=>{H.createReactiveField(M,H[M],{bind:H.shouldAutoBindReactiveMembers?.()??!1})})})}function WM(F,M){let H=Symbol(`__${String(M.name)}__value`),$=String(M.name);return M.addInitializer(function(){this.defineReactiveBinding($,this.shouldAutoBindReactiveMembers?.()??!1),this.registerReactiveDependencyReader($,()=>this[H]),Object.defineProperty(this,M.name,{get(){return this.trackReactiveRead($),this[H]},set(P){let x=this[H];if(x!==P)this[H]=P,this.notifyUpdate($,x,P)},enumerable:!0,configurable:!0})}),function(P){return this[H]=P,P}}function H$(F,M){return R(WM,xM,F,M)}export{dH as stopControllers,H$ as state,sH as startControllers,fF as setControllerRegistrationStrategy,mM as replaceController,bF as registerControllerWithConfiguredStrategy,uM as registerController,n2 as querySlot,v2 as query,K2 as prop,G2 as onUpdated,$2 as onEvent,mH as hasRegisteredController,i0 as event,yH as enableControllerReplacementForHmr,cH as disableControllerReplacementForHmr,f0 as debounce,_0 as customElement,R0 as controller,B0 as bound,$0 as attr,V as RadiantElement,SF as RadiantController,VF as ControllerRegistryRuntime,b as CONTROLLER_ATTRIBUTE};
1
+ var B0=((F)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(F,{get:(M,$)=>(typeof require<"u"?require:M)[$]}):F)(function(F){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+F+'" is not supported')});var n=Symbol.for("@ecopages/radiant.legacy-instance-initializers");function q(F,M){let H=F[n];if(Array.isArray(H)){H.push(M);return}Object.defineProperty(F,n,{value:[M],configurable:!0})}function w(F){let M=[],$=Object.getPrototypeOf(F);while($&&$!==Object.prototype)M.push($),$=Object.getPrototypeOf($);for(let H=M.length-1;H>=0;H-=1){let P=M[H][n];if(!Array.isArray(P))continue;for(let W of P)W(F)}}import{createSubscribableJsxValue as xM}from"@ecopages/jsx";import{trackDependency as jF}from"@ecopages/signals";class ZF{read;subscribers=new Set;watcherListeners=new Set;version=0;constructor(F){this.read=F}get(){return jF(this),this.read()}subscribe(F){return this.subscribers.add(F),()=>{this.subscribers.delete(F)}}addWatcher(F){return this.watcherListeners.add(F),()=>{this.watcherListeners.delete(F)}}getVersion(){return this.version}notify(F){this.version+=1;let M;try{this.notifyWatchers()}catch($){M=$}if(this.publish(F),M)throw M}publish(F){for(let M of this.subscribers)M(F)}notifyWatchers(){let F=[];for(let M of this.watcherListeners)try{M()}catch($){F.push($)}if(F.length===1)throw F[0];if(F.length>1)throw AggregateError(F,"Multiple reactive dependency notifications failed.")}}function AM(F){return typeof F==="object"&&F!==null&&typeof F.get==="function"}class k{host;access;shouldAutoBind;bindings;$;reactiveFields=new Map;reactiveDependencies=new Map;reactiveDependencyReaders=new Map;reactiveBindings=new Map;updateCallbacks=new Map;onConnectedCallbacks=[];onDisconnectedCallback=[];constructor(F,M,$){this.host=F;this.access=M;this.shouldAutoBind=$;let H=this.createReactiveBindingNamespace();this.bindings=H,this.$=H}connectHost(){for(let F of this.onConnectedCallbacks)F()}disconnectHost(){for(let F of this.onDisconnectedCallback)F()}notifyUpdate(F,M,$){if(M===$)return;this.reactiveDependencies.get(F)?.notify($);let H=this.updateCallbacks.get(F);if(H)for(let P of H)P()}registerCleanupCallback(F){this.onDisconnectedCallback.push(F)}registerConnectedCallback(F){this.onConnectedCallbacks.push(F)}registerHydrationBinding(F,M){}registerReactiveDependencyReader(F,M){this.reactiveDependencyReaders.set(F,M)}registerUpdateCallback(F,M){if(!this.updateCallbacks.has(F))this.updateCallbacks.set(F,new Set);let $=this.updateCallbacks.get(F);return $.add(M),()=>{if($.delete(M),$.size===0)this.updateCallbacks.delete(F)}}getReactiveBinding(F){let M=this.reactiveBindings.get(F);if(M)return M;let $=xM({getValue:()=>this.readReactiveBindingValue(F),subscribe:(H)=>this.registerUpdateCallback(F,()=>{H(this.readReactiveBindingValue(F))})});return this.reactiveBindings.set(F,$),$}bind(F){return this.getReactiveBinding(F)}defineReactiveBinding(F,M=!0){let $=typeof M==="string"?M:M?`$${F}`:void 0,H=this.access.getBindingTarget?.(this.host)??this.host;if(!$||this.access.hasProperty(this.host,$))return;this.access.defineProperty(H,$,{get:()=>this.getReactiveBinding(F),enumerable:!1,configurable:!0})}trackReactiveRead(F){jF(this.getReactiveDependency(F))}defineReactiveAccessor(F,M){let $=M.bind??this.shouldAutoBind();if(this.defineReactiveBinding(F,$),this.registerReactiveDependencyReader(F,M.getValue),this.access.defineProperty(this.host,F,{get:()=>{return this.trackReactiveRead(F),M.getValue()},set:(H)=>{let P=M.getValue();if(P===H)return;M.setValue(H),this.notifyUpdate(F,P,H)},enumerable:!0,configurable:!0}),M.notifyInitialValue!==void 0)this.notifyUpdate(F,void 0,M.notifyInitialValue)}createReactiveField(F,M,$={}){let H={name:F,value:M,initialValue:M};this.reactiveFields.set(F,H),this.defineReactiveAccessor(F,{bind:$.bind,getValue:()=>this.reactiveFields.get(F)?.value,setValue:(P)=>{this.reactiveFields.set(F,{...H,value:P})},notifyInitialValue:M})}createReactiveBindingNamespace(){return new Proxy(Object.create(null),{get:(F,M)=>{if(typeof M!=="string")return;return this.getReactiveBinding(M)}})}getReactiveDependency(F){let M=this.reactiveDependencies.get(F);if(M)return M;let $=new ZF(()=>this.readReactiveDependencyValue(F));return this.reactiveDependencies.set(F,$),$}readReactiveDependencyValue(F){let M=this.reactiveDependencyReaders.get(F);if(M)return M();return this.readReactiveBindingValue(F)}readReactiveBindingValue(F){let M=this.access.readProperty(this.host,F);if(AM(M))return M.get();return M}}var r=Symbol.for("@ecopages/radiant.ssr-preparation-callbacks"),XF=Symbol.for("@ecopages/radiant.ssr-preparation-running");function GF(F,M){let H=F[r];if(Array.isArray(H)){H.push(M);return}Object.defineProperty(F,r,{value:[M],configurable:!0})}function BF(F){let M=F,$=M[r];if(!Array.isArray($))return;M[XF]=!0;try{for(let H of $)H()}finally{delete M[XF]}}function QF(F){return F.replace(/&/g,"\\u0026").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}var x="data-hydration",UF="data-hydration-type",o="data-hydration-key";function RF(F){let M=F.hydrationKey?` ${o}="${YM(F.hydrationKey)}"`:"";return`<script type="application/json" ${x} ${UF}="${F.type}"${M}>${F.serializedValue}</script>`}function DF(F){return QF(F)}function LF(F,M){let $=F.textContent;if(!$)return M;try{return JSON.parse($)}catch{if(typeof console<"u")console.warn(`[@ecopages/radiant] Failed to parse hydration payload from <script ${x}>:`,$.slice(0,120));return M}}function JF(F,M,$){let H=F.children;if(!H||H.length===0){let P=F.childNodes;if(!P||P.length===0)return null;for(let W=0;W<P.length;W+=1){let j=P[W];if(j.nodeType!==1)continue;let Z=j;if(qF(Z,M,$))return Z}return null}for(let P=0;P<H.length;P+=1)if(qF(H[P],M,$))return H[P];return null}function qF(F,M,$){if(F.tagName!=="SCRIPT"||!F.hasAttribute(x)||F.getAttribute(UF)!==M)return!1;if($!==void 0)return F.getAttribute(o)===$;return!F.hasAttribute(o)}function YM(F){return F.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}import{createMarkupNodeLike as zM,isKeyedJsxValue as xF,isSlotJsxValue as _M}from"@ecopages/jsx";var z="",O="data-radiant-slot-projection";function AF(F){let M=new Map;for(let $ of Array.from(F.childNodes)){if(IM($))continue;TM(M,KM($),$)}return M}function YF(F){let M;try{M=JSON.parse(F)}catch{if(typeof console<"u")console.warn("[@ecopages/radiant] Failed to parse slot projection payload:",F.slice(0,120));return new Map}let $=new Map;for(let[H,P]of Object.entries(M)){if(!Array.isArray(P)||P.length===0)continue;$.set(a(H),P.map((W)=>zM(W)))}return $}function zF(F){let M=Array.from(F.childNodes).filter(($)=>EF($)).map(($)=>C($)??"").filter(($)=>$!=="");return M.length>0?M.join(""):void 0}function _F(F){let M={};for(let[$,H]of F.entries()){let P=H.map((W)=>C(W)).filter((W)=>W!==void 0&&W!=="");if(P.length>0)M[$]=P}return Object.keys(M).length>0?JSON.stringify(M):void 0}function TF(F,M){let $=!1,H=(W)=>{if(_M(W))return $=!0,wM(W,M,H);if(xF(W))return kM(W,H(W.value));if(EM(W))return{_$rType$:1,rootLocalName:W.rootLocalName,strings:W.strings,values:W.values.map((j)=>H(j))};if(KF(W))return Array.from(W,(j)=>H(j));return W},P=H(F);return{containsSlots:$,value:P}}function kF(F){for(let M of Array.from(F.childNodes)){if(!IF(M))continue;let $=M.textContent??void 0;return M.parentNode?.removeChild(M),$}return}function TM(F,M,$){let H=F.get(M);if(H){H.push($);return}F.set(M,[$])}function kM(F,M){return{...F,value:M}}function KM(F){if(F instanceof Element)return a(F.getAttribute("slot"));return z}function KF(F){return typeof F!=="string"&&typeof F==="object"&&F!==null&&Symbol.iterator in F}function IF(F){return F instanceof HTMLScriptElement&&F.hasAttribute(O)}function EF(F){return F instanceof HTMLScriptElement&&F.hasAttribute(x)}function IM(F){return IF(F)||EF(F)}function EM(F){return typeof F==="object"&&F!==null&&F._$rType$===1&&Array.isArray(F.strings)&&Array.isArray(F.values)}function a(F){return F??z}function C(F){if(F===void 0||F===null||F===!1||F===!0)return;if(typeof Node<"u"&&F instanceof Node){if(F.nodeType===Node.TEXT_NODE)return F.textContent??"";return F.outerHTML??F.textContent??void 0}if(xF(F))return C(F.value);if(typeof F==="string"||typeof F==="number"||typeof F==="bigint")return String(F);if(typeof F==="object"&&F!==null&&"outerHTML"in F)return typeof F.outerHTML==="string"?F.outerHTML:F.textContent??void 0;if(KF(F))return Array.from(F,(M)=>C(M)??"").join("");return}function wM(F,M,$){let H=M.get(a(F.name));if(H&&H.length>0)return H.length===1?H[0]:H;if(F.fallback===void 0)return"";return $(F.fallback)}var t=Symbol.for("@ecopages/radiant.hydrator-installed");function T0(){globalThis[t]=!0}function k0(){delete globalThis[t]}function wF(){return globalThis[t]===!0}var CF=Symbol.for("@ecopages/radiant.component-ssr-runtime");function OF(){return globalThis[CF]}function I0(F){globalThis[CF]=F}function VF(F){switch(F){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function CM(F){switch(typeof F){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(F))return"array";if(Object.prototype.toString.call(F)==="[object Object]")return"object"}function K(F){switch(F){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function OM(F){try{return JSON.parse(F)}catch{throw TypeError("Invalid JSON string")}}var SM={array(F){let M=OM(F);if(!Array.isArray(M))throw TypeError(`Expected an array but got a value of type "${typeof M}"`);return M},boolean(F){return!(F==="0"||String(F).toLowerCase()==="false")},number(F){return Number(F.replace(/_/g,""))},object(F){let M=JSON.parse(F);if(M===null||typeof M!=="object"||Array.isArray(M))throw TypeError(`expected value of type "object" but instead got value "${F}" of type "${CM(M)}"`);return M},string(F){return F}},SF={default:bF,array:fF,object:fF};function fF(F){return JSON.stringify(F)}function bF(F){return`${F}`}function _(F,M){let $=VF(M);if(!$)throw TypeError(`[radiant-element] Unknown type "${M}"`);return SM[$](F)}function S(F,M){let $=VF(M);if(!$)throw TypeError(`[radiant-element] Unknown type "${M}"`);return(SF[$]??SF.default??bF)(F)}function fM(F){return typeof F==="boolean"}function VM(F){return typeof F==="number"}function bM(F){return typeof F==="string"}function NM(F){return Array.isArray(F)}function vM(F){return typeof F==="object"&&!Array.isArray(F)&&F!==null}function D(F,M){switch(F){case Boolean:return fM(M);case Number:return VM(M);case String:return bM(M);case Array:return NM(M);case Object:return vM(M);default:return!1}}var NF=(F,M,$,H)=>{if(M===Boolean){let W=F.getAttribute($);if(W===null)return H;return W===""?!0:_(W,M)}let P=F.getAttribute($);return P!==null?_(P,M):H??K(M)};import{hasHydrationMarkers as hM,hydrate as gM,jsx as uM,render as yM}from"@ecopages/jsx";import{Computed as mM,subtle as cM}from"@ecopages/signals";var dM=sM();function sM(){if(typeof HTMLElement<"u")return HTMLElement;throw Error("RadiantElement requires HTMLElement. Install '@ecopages/radiant/server/light-dom-shim' before importing Radiant components in SSR.")}class V extends dM{bindings;$;reactiveHost;reactiveProperties=new Map;contextProviders=new Map;hydrationBindings=new Map;eventSubscriptions=new Map;eventEmitters=new Map;elementReady=!1;isRendering=!1;isFirstConnectPending=!1;isRenderScheduled=!1;needsRender=!1;preUpgradePropertyValues=new Map;projectedSlotContent=new Map;renderSignal;renderWatcher=new cM.Watcher(()=>{this.requestUpdate()});slotProjectionObserver;slotProjectionVersion=0;constructor(){super();for(let F of Object.getOwnPropertyNames(this))this.preUpgradePropertyValues.set(F,this[F]);this.reactiveHost=new k(this,{defineProperty:(F,M,$)=>Object.defineProperty(F,M,$),getBindingTarget:(F)=>Object.getPrototypeOf(F)??F,hasProperty:(F,M)=>(M in F),readProperty:(F,M)=>F[M]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,w(this)}connectedCallback(){let F=this.isFirstConnectPending;if(this.elementReady=!0,this.reactiveHost.connectHost(),F)return;this.isFirstConnectPending=!0,queueMicrotask(()=>{if(this.isFirstConnectPending=!1,!this.isConnected)return;if(!this.shouldRunRenderLifecycle())return;if(this.ensureSlotProjectionState(),this.observeSlotProjection(),vF(this)){if(this.needsRender=!1,this.hydrate(),this.needsRender)this.update();return}this.update()})}connectedContextCallback(F){}disconnectedCallback(){this.disconnectSlotProjectionObserver(),this.disconnectRenderWatcher(),this.removeAllSubscribedEvents(),this.reactiveHost.disconnectHost()}notifyUpdate(F,M,$){this.reactiveHost.notifyUpdate(F,M,$)}transformAttributeValue(F,M){return F!==null?M?.converter.fromAttribute(F):F}attributeChangedCallback(F,M,$){if(M===$||!this.elementReady)return;if(this.reactiveProperties.has(F)){let H=this.reactiveProperties.get(F),P=this.transformAttributeValue($,H),W=this.transformAttributeValue(M,H),j=H?H.attribute:F;this[j]=P,this.notifyUpdate(F,W,P)}}renderTemplate({target:F=this,template:M,insert:$="replace",sanitize:H}){let P=H?H(M):M;switch($){case"replace":F.innerHTML=P;break;case"beforeend":F.insertAdjacentHTML("beforeend",P);break;case"afterbegin":F.insertAdjacentHTML("afterbegin",P);break;case"beforebegin":F.insertAdjacentHTML("beforebegin",P);break;case"afterend":F.insertAdjacentHTML("afterend",P);break}}render(){return uM("slot",{})}renderToString(F={}){if(!this.shouldRunRenderLifecycle())return this.innerHTML;return this.prepareForSsr(),f().renderView(this,F)}renderHost(){return f().renderHost(this)}renderHostToString(F={}){return f().renderHostToString(this,F)}hydrate(){if(!this.shouldRunRenderLifecycle()||!this.isConnected||this.isRendering)return;this.isRendering=!0,this.disconnectSlotProjectionObserver();try{gM(this.resolveTrackedRenderOutput().value,this)}finally{this.isRendering=!1,this.observeSlotProjection()}}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,!this.isConnected||this.isRendering)return;if(this.isFirstConnectPending&&vF(this))return;while(this.needsRender&&this.isConnected){this.needsRender=!1,this.isRendering=!0,this.disconnectSlotProjectionObserver();try{yM(this.resolveTrackedRenderOutput().value,this)}finally{this.isRendering=!1,this.observeSlotProjection()}}}registerReactiveProperty(F){this.reactiveProperties.set(F.name,F)}getReactiveProperties(){return Array.from(this.reactiveProperties.values())}registerReactiveDependencyReader(F,M){this.reactiveHost.registerReactiveDependencyReader(F,M)}registerContextProvider(F,M){this.contextProviders.set(F,M),this.registerHydrationBinding(F,M)}registerHydrationBinding(F,M){this.hydrationBindings.set(F,M)}getContextProviders(){return Array.from(this.contextProviders.values())}getHydrationBindings(){return Array.from(this.hydrationBindings.values())}prepareForSsr(){BF(this)}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return this.render!==V.prototype.render}getHostSsrAttributes(){return f().getHostAttributes(this)}resolveSsrRenderBridge(){let F={};if(this.renderHostToString===V.prototype.renderHostToString)F.renderHostToString=(M)=>this.renderHostToString(M);if(this.renderHost===V.prototype.renderHost)F.renderHost=()=>this.renderHost();return F}registerUpdateCallback(F,M){return this.reactiveHost.registerUpdateCallback(F,M)}getReactiveBinding(F){return this.reactiveHost.getReactiveBinding(F)}bind(F){return this.reactiveHost.bind(F)}defineReactiveBinding(F,M=!0){this.reactiveHost.defineReactiveBinding(F,M)}trackReactiveRead(F){this.reactiveHost.trackReactiveRead(F)}subscribeEvents(F){let M=[];for(let $ of F)M.push(this.subscribeEvent($));return M}subscribeEvent(F){let M=(H)=>{if(H.target&&H.target.matches(F.selector))F.listener.call(this,H)},$=`${F.type}:${F.selector}`;return this.addEventListener(F.type,M,F.options),this.eventSubscriptions.set($,{...F,listener:M}),this.unsubscribeEvent.bind(this,$)}unsubscribeEvent(F){let M=this.eventSubscriptions.get(F);if(M)this.removeEventListener(M.type,M.listener,M.options),this.eventSubscriptions.delete(F)}removeAllSubscribedEvents(){for(let F of this.eventSubscriptions.values())this.removeEventListener(F.type,F.listener,F.options);this.eventSubscriptions.clear()}registerCleanupCallback(F){this.reactiveHost.registerCleanupCallback(F)}registerConnectedCallback(F){this.reactiveHost.registerConnectedCallback(F)}registerEventEmitter(F,M){this.eventEmitters.set(F,M)}getRef(F,M=!1){let $=`[data-ref="${F}"]`;if(M)return Array.from(this.querySelectorAll($));return this.querySelector($)??null}getSlotElement(F){return this.getSlotElements(F)[0]??null}getSlotElements(F){return this.ensureSlotProjectionState(),(this.projectedSlotContent.get(F??z)??[]).filter((M)=>typeof Node<"u"&&M instanceof Element)}createReactiveField(F,M,$={}){this.reactiveHost.createReactiveField(F,M,$)}createReactiveProp(F,M){let{type:$,attribute:H,reflect:P,defaultValue:W}=M,j=H??F,Z=this.preUpgradePropertyValues.has(F),X=Z?this.preUpgradePropertyValues.get(F):void 0;if(W!==void 0&&!D($,W))throw Error(`defaultValue does not match the expected type for ${$.name}`);let G=Z?X:NF(this,$,j,W);if(this.hasAttribute(j)&&(!P||G==null||G===""))this.removeAttribute(j);if(Z&&Object.prototype.hasOwnProperty.call(this,F))Reflect.deleteProperty(this,F);let Q={type:$,name:F,value:G,initialValue:G,attribute:j,converter:{fromAttribute:(B)=>_(B,$),toAttribute:(B)=>S(B,$)}};this.registerReactiveProperty(Q);let U=(B)=>{if(P)if(B==null||B===""||B===!1)this.removeAttribute(j);else{let L=Q.converter.toAttribute(B);this.setAttribute(j,L)}};if(this.reactiveHost.defineReactiveAccessor(F,{bind:M.bind,getValue:()=>this.reactiveProperties.get(F)?.value,setValue:(B)=>{this.reactiveProperties.set(F,{...Q,value:B}),U(B)}}),G!==void 0)queueMicrotask(()=>{let B=this.reactiveProperties.get(F)?.value;if(B===void 0)return;U(B),this.notifyUpdate(F,void 0,B)})}ensureSlotProjectionState(){if(this.projectedSlotContent.size>0)return;let F=this.isConnected?kF(this):void 0;if(typeof F==="string"&&F!==""){this.projectedSlotContent=YF(F),this.slotProjectionVersion+=1;return}if(this.getHostChildNodeCount()>0)this.projectedSlotContent=AF(this),this.slotProjectionVersion+=1}getHostChildNodeCount(){return"childNodes"in this&&this.childNodes?this.childNodes.length:0}getSlotProjectionScriptTag(){this.ensureSlotProjectionState();let F=_F(this.projectedSlotContent);if(!F)return;return`<script type="application/json" ${O}>${pM(F)}</script>`}getAuthoredHydrationScriptMarkup(){let F=zF(this);if(F)return F;return}handleSlotProjectionMutations(F){let M=!1;for(let $ of F){for(let H of Array.from($.removedNodes))if(this.removeProjectedSlotNode(H))M=!0;for(let H of Array.from($.addedNodes)){if(H.parentNode!==this)continue;if(this.addProjectedSlotNode(H))M=!0}}if(M)this.slotProjectionVersion+=1,this.update()}addProjectedSlotNode(F){if(F instanceof HTMLScriptElement&&(F.hasAttribute(O)||F.hasAttribute(x)))return!1;let M=F instanceof Element?F.getAttribute("slot")??z:z,$=this.projectedSlotContent.get(M);if($){if($.includes(F))return!1;return $.push(F),!0}return this.projectedSlotContent.set(M,[F]),!0}removeProjectedSlotNode(F){for(let[M,$]of this.projectedSlotContent.entries()){let H=$.indexOf(F);if(H===-1)continue;if($.splice(H,1),$.length===0)this.projectedSlotContent.delete(M);return!0}return!1}observeSlotProjection(){if(typeof MutationObserver>"u"||this.slotProjectionObserver||!this.isConnected)return;this.slotProjectionObserver=new MutationObserver((F)=>this.handleSlotProjectionMutations(F)),this.slotProjectionObserver.observe(this,{childList:!0})}disconnectSlotProjectionObserver(){this.slotProjectionObserver?.disconnect(),this.slotProjectionObserver=void 0}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let F=new mM(()=>this.resolveRenderOutput()),M=F.get();if(!this.isConnected)return M;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=F,this.renderWatcher.watch(F),M}resolveRenderOutput(){return this.ensureSlotProjectionState(),TF(this.render(),this.projectedSlotContent)}}function f(){let F=OF();if(!F)throw Error("Radiant SSR runtime is unavailable. Import `@ecopages/radiant/server/render-component` before using instance SSR methods.");return F}function vF(F){return wF()&&hM(F)}function pM(F){return F.replace(/</g,"\\u003c")}import{render as iM}from"@ecopages/jsx";import{Computed as lM,subtle as nM}from"@ecopages/signals";class hF{host;element;bindings;$;reactiveHost;connected=!1;isRendering=!1;isRenderScheduled=!1;needsRender=!1;renderSignal;renderWatcher=new nM.Watcher(()=>{this.requestUpdate()});constructor(F){this.host=F,this.element=F,this.reactiveHost=new k(this,{defineProperty:(M,$,H)=>Object.defineProperty(M,$,H),hasProperty:(M,$)=>($ in M),readProperty:(M,$)=>M[$]},()=>this.shouldAutoBindReactiveMembers()),this.bindings=this.reactiveHost.bindings,this.$=this.reactiveHost.$,w(this)}connect(){if(this.connected=!0,this.reactiveHost.connectHost(),this.shouldRunRenderLifecycle())this.update()}connectForSsrRender(){this.connected=!0,this.reactiveHost.connectHost()}disconnect(){this.connected=!1,this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost()}disconnectForSsrRender(){this.disconnectRenderWatcher(),this.reactiveHost.disconnectHost(),this.connected=!1}get isConnected(){return this.connected}render(){return null}requestUpdate(){if(!this.shouldRunRenderLifecycle())return;if(this.needsRender=!0,this.isRenderScheduled)return;this.isRenderScheduled=!0,queueMicrotask(()=>{if(this.isRenderScheduled=!1,!this.needsRender)return;this.update()})}update(){if(!this.shouldRunRenderLifecycle())return;let F=this.getRenderTarget();if(!F)return;if(this.needsRender=!0,!this.connected||this.isRendering)return;while(this.needsRender){this.needsRender=!1,this.isRendering=!0;try{iM(this.resolveTrackedRenderOutput(),F)}finally{this.isRendering=!1}}}bind(F){return this.reactiveHost.bind(F)}getReactiveBinding(F){return this.reactiveHost.getReactiveBinding(F)}createReactiveField(F,M,$={}){this.reactiveHost.createReactiveField(F,M,$)}createReactiveProp(F,M){let{type:$,defaultValue:H,bind:P}=M;if(H!==void 0&&!D($,H))throw Error(`defaultValue does not match the expected type for ${$.name}`);let W=Object.getOwnPropertyDescriptor(this.host,F),j=this.host,X=j[F]??H??K($);this.reactiveHost.defineReactiveAccessor(F,{bind:P,getValue:()=>X,setValue:(G)=>{X=G},notifyInitialValue:X}),Object.defineProperty(this.host,F,{get:()=>this[F],set:(G)=>{this[F]=G},enumerable:W?.enumerable??!0,configurable:!0}),this.registerCleanupCallback(()=>{let G=this[F];if(W){if(Object.defineProperty(this.host,F,W),"value"in W&&W.writable)j[F]=G;return}delete j[F];try{j[F]=G}catch{Object.defineProperty(this.host,F,{value:G,writable:!0,enumerable:!0,configurable:!0})}})}defineReactiveBinding(F,M=!0){this.reactiveHost.defineReactiveBinding(F,M)}notifyUpdate(F,M,$){this.reactiveHost.notifyUpdate(F,M,$)}registerUpdateCallback(F,M){return this.reactiveHost.registerUpdateCallback(F,M)}connectedContextCallback(F){}registerContextProvider(F,M){}registerHydrationBinding(F,M){}registerCleanupCallback(F){this.reactiveHost.registerCleanupCallback(F)}registerConnectedCallback(F){this.reactiveHost.registerConnectedCallback(F)}registerReactiveDependencyReader(F,M){this.reactiveHost.registerReactiveDependencyReader(F,M)}trackReactiveRead(F){this.reactiveHost.trackReactiveRead(F)}addEventListener(F,M,$){this.host.addEventListener(F,M,$)}removeEventListener(F,M,$){this.host.removeEventListener(F,M,$)}dispatchEvent(F){return this.host.dispatchEvent(F)}getRef(F,M=!1){let $=`[data-ref="${F}"]`;if(M)return Array.from(this.host.querySelectorAll($));return this.host.querySelector($)??null}shouldAutoBindReactiveMembers(){return!0}shouldRunRenderLifecycle(){return this.render!==hF.prototype.render}getRenderTarget(){return this.host instanceof HTMLElement?this.host:null}disconnectRenderWatcher(){if(!this.renderSignal)return;this.renderWatcher.unwatch(this.renderSignal),this.renderSignal=void 0}resolveTrackedRenderOutput(){let F=new lM(()=>this.render()),M=F.get();if(!this.connected)return M;if(this.renderSignal)this.renderWatcher.unwatch(this.renderSignal);return this.renderSignal=F,this.renderWatcher.watch(F),M}}var gF=Symbol.for("@ecopages/radiant.controllerIdentifier");function e(F,M){F[gF]=M}function i0(F){return F[gF]}var N="data-controller",uF=Symbol.for("@ecopages/radiant.controller-registry-state");function rM(){let F=globalThis,M=F[uF];if(M)return M;let $={activeRuntimes:new Set,controllerRegistrationStrategy:"keep-current",controllerRegistry:new Map};return F[uF]=$,$}var v=rM(),A=v.controllerRegistry,T=v.activeRuntimes;function yF(F){let M=F.getAttribute(N);if(!M)return[];return M.split(/\s+/).map(($)=>$.trim()).filter(($)=>$.length>0)}function b(F,M){if(F instanceof Element&&F.hasAttribute(N))M(F);for(let $ of Array.from(F.querySelectorAll(`[${N}]`)))M($)}class mF{root;controllersByElement=new Map;observer;stopped=!1;constructor(F=document){this.root=F;this.start()}stop(){if(this.stopped)return;this.stopped=!0,this.observer?.disconnect(),this.observer=void 0;for(let[F,M]of this.controllersByElement)for(let[$]of M)this.disconnectController(F,$);T.delete(this)}reconcileRegisteredController(F){b(this.root,(M)=>{if(!yF(M).includes(F))return;this.connectController(M,F)})}replaceRegisteredController(F){for(let[M,$]of Array.from(this.controllersByElement.entries())){if(!$.has(F))continue;this.disconnectController(M,F)}this.reconcileRegisteredController(F)}start(){if(b(this.root,(M)=>{this.reconcileElement(M)}),typeof MutationObserver>"u"){T.add(this);return}this.observer=new MutationObserver((M)=>{for(let $ of M){if($.type==="attributes"&&$.target instanceof Element){this.reconcileElement($.target);continue}for(let H of Array.from($.removedNodes)){if(!(H instanceof Element))continue;b(H,(P)=>{this.disconnectElementControllers(P)})}for(let H of Array.from($.addedNodes)){if(!(H instanceof Element))continue;b(H,(P)=>{this.reconcileElement(P)})}}});let F=this.root instanceof Document?this.root.documentElement:this.root;this.observer.observe(F,{attributeFilter:[N],attributes:!0,childList:!0,subtree:!0}),T.add(this)}reconcileElement(F){let M=new Set(yF(F)),$=this.controllersByElement.get(F);if($){for(let H of $.keys())if(!M.has(H))this.disconnectController(F,H)}for(let H of M)this.connectController(F,H)}connectController(F,M){let $=A.get(M);if(!$)return;let H=this.controllersByElement.get(F);if(!H)H=new Map,this.controllersByElement.set(F,H);if(H.has(M))return;let P=new $(F);H.set(M,P),P.connect()}disconnectController(F,M){let $=this.controllersByElement.get(F);if(!$)return;let H=$.get(M);if(!H)return;if(H.disconnect(),$.delete(M),$.size===0)this.controllersByElement.delete(F)}disconnectElementControllers(F){let M=this.controllersByElement.get(F);if(!M)return;for(let $ of Array.from(M.keys()))this.disconnectController(F,$)}}function oM(F,M){let $=A.get(F);if($)return $;e(M,F),A.set(F,M);for(let H of Array.from(T))H.reconcileRegisteredController(F);return M}function r0(F){return A.has(F)}function o0(F){return A.get(F)}function aM(F,M){if(A.get(F)===M)return M;e(M,F),A.set(F,M);for(let H of Array.from(T))H.replaceRegisteredController(F);return M}function cF(F){v.controllerRegistrationStrategy=F}function a0(){cF("replace")}function t0(){cF("keep-current")}function dF(F,M){if(v.controllerRegistrationStrategy==="replace")return aM(F,M);return oM(F,M)}function e0(F=document){return new mF(F)}function F2(){for(let F of Array.from(T))F.stop()}function tM(F){return typeof F==="function"}function R(F,M,$,H){if(typeof H==="object")return F(void 0,H);return M($,H)}function J(F,M,$,H,P){if(typeof H==="object"){if(!tM($))throw TypeError("Standard method decorators require a method target");return F($,H)}if(!P)throw TypeError("Legacy method decorators require a property descriptor");return M($,H,P)}function FF(F){if(F instanceof Element)return F;if("host"in F)return F.host;return F.element}function eM(F){return F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function F0(F,M){if(M.converter?.fromAttribute){let $=M.converter.fromAttribute(F);if(F===null&&$===void 0&&"defaultValue"in M)return M.defaultValue;return $}if(M.type){if(F===null)return M.defaultValue??K(M.type);if(M.type===Boolean&&F==="")return!0;return _(F,M.type)}if(F===null)return M.defaultValue;return F}function Y(F,M,$){return F0(FF(F).getAttribute(M),$)}function M0(F,M,$,H){let P=H.converter?.toAttribute?H.converter.toAttribute($):H.type?S($,H.type):$==null?null:String($);if(P===null){F.removeAttribute(M);return}F.setAttribute(M,P)}function h(F,M,$={}){if($.type&&$.defaultValue!==void 0&&!D($.type,$.defaultValue))throw Error(`defaultValue does not match the expected type for ${$.type.name}`);let H=F,P=$.source??eM(M),W=Symbol(`@ecopages/radiant/attr:${M}:observer`),j=Symbol(`@ecopages/radiant/attr:${M}:last-value`),Z=$.bind??F.shouldAutoBindReactiveMembers?.()??!1;F.defineReactiveBinding(M,Z),F.registerReactiveDependencyReader(M,()=>Y(F,P,$)),H[j]=Y(F,P,$),Object.defineProperty(F,M,{get(){return F.trackReactiveRead(M),Y(this,P,$)},set(Q){let U=FF(this),B=Y(this,P,$);M0(U,P,Q,$);let L=Y(this,P,$);if(Object.is(B,L))return;this[j]=L,F.notifyUpdate(M,B,L)},enumerable:!0,configurable:!0});let X=()=>{H[W]?.disconnect()},G=()=>{let Q=Y(F,P,$),U=H[j];if(!Object.is(U,Q))H[j]=Q,F.notifyUpdate(M,U,Q);if(typeof MutationObserver>"u")return;let B=FF(F);X();let L=new MutationObserver(()=>{let l=Y(F,P,$),WF=H[j];if(Object.is(WF,l))return;H[j]=l,F.notifyUpdate(M,WF,l)});L.observe(B,{attributeFilter:[P],attributes:!0}),H[W]=L};G(),F.registerConnectedCallback(G),F.registerCleanupCallback(X)}function sF(F={}){return(M,$)=>{let H=Symbol(`@ecopages/radiant/attr:${$}:installed`);q(M,(P)=>{P.registerConnectedCallback(()=>{if(P[H])return;let W=P[$],j=F.defaultValue===void 0?W:F.defaultValue;h(P,$,{...F,defaultValue:j}),P[H]=!0})})}}function pF(F={}){return function(M,$){let H=String($.name),P=Symbol(`@ecopages/radiant/attr:${H}:initializer`);return $.addInitializer(function(){let W=this[P],j=F.defaultValue===void 0?W:F.defaultValue;h(this,H,{...F,defaultValue:j})}),function(W){return this[P]=W,W}}}function U2(F={}){function M($,H){return R(pF(F),sF(F),$,H)}return M}function iF(F,M,$){let H=$.value;return{configurable:!0,get(){if(this===F.prototype||Object.prototype.hasOwnProperty.call(this,M))return H;let P=H.bind(this);return Object.defineProperty(this,M,{value:P,configurable:!0,writable:!0}),P}}}function lF(F,M){let $=String(M.name);if(M.private)throw Error(`'bound' cannot decorate private properties like ${$}.`);M.addInitializer(function(){this[$]=this[$].bind(this)})}function Y2(F,M,$){return J(lF,iF,F,M,$)}function T2(F){return function(M){return dF(F,M)}}var nF=Symbol.for("@ecopages/radiant.customElementTagName");function g(F,M){F[nF]=M}function K2(F){return F[nF]}function rF(F,M){return($)=>{if(g($,F),typeof customElements<"u"&&!customElements.get(F))customElements.define(F,$,M)}}function oF(F,M){return function($,H){H.addInitializer(function(){if(g(this,F),typeof customElements<"u"&&!customElements.get(F))customElements.define(F,this,M)})}}function V2(F,M){function $(H,P){if(typeof P<"u")return oF(F,M)(H,P);return rF(F,M)(H)}return $}function u(F,M){let $=null,H=null,P,W=()=>{if($!==null)clearTimeout($),$=null},j=()=>{if(H===null)return P;let X=H;return H=null,W(),P=X(),P},Z=function(...X){H=()=>F.apply(this,X),W(),$=setTimeout(()=>{j()},M)};return Z.cancel=()=>{W(),H=null},Z.flush=()=>{if(H===null)return P;return j()},Z.pending=()=>H!==null,Z}function aF(F){return(M,$,H)=>{let P=H.value,W=new WeakMap;return H.value=function(...Z){let X=W.get(this);if(!X)X=u((...G)=>{return P.apply(this,G)},F),W.set(this,X);X(...Z)},H}}function tF(F){return(M)=>{let $=new WeakMap;return function(...H){let P=$.get(this);if(!P)P=u((...W)=>{return M.apply(this,W)},F),$.set(this,P);P(...H)}}}function d2(F){function M($,H,P){return J(tF(F),aF(F),$,H,P)}return M}class MF{host;eventConfig;constructor(F,M){this.host=F,this.eventConfig=M}emit(F){let M=new CustomEvent(this.eventConfig.name,{detail:F,bubbles:this.eventConfig.bubbles,cancelable:this.eventConfig.cancelable,composed:this.eventConfig.composed});this.host.dispatchEvent(M)}}function y(F,M){let $=new MF(F,M);return F.registerEventEmitter(M.name,$),$}function eF(F){return(M,$)=>{q(M,(H)=>{let P=y(H,F);H.registerConnectedCallback(()=>{Object.defineProperty(H,$,{get(){return P},enumerable:!0,configurable:!0})})})}}function FM(F){return function(M,$){$.addInitializer(function(){let H=y(this,F);Object.defineProperty(this,$.name,{get(){return H},enumerable:!0,configurable:!0})})}}function $$(F){function M($,H){return R(FM(F),eF(F),$,H)}return M}var m=Symbol("radiant.shadowRootListenerHooks"),MM=Symbol("radiant.patchedAttachShadow");function HM(F){if(F instanceof Element)return F;if("host"in F)return F.host;return F.element}function $0(F){return!(F instanceof Element)}function $M(F,M,$,H){let P=(W)=>{if(W.target instanceof Element&&W.target.matches($))H(W)};return F.addEventListener(M.type,P,M.options),()=>{F.removeEventListener(M.type,P,M.options)}}function H0(F,M){let $=HM(F);if(!$[m])$[m]=new Set;if($[m].add(M),$[MM])return;let H=$.attachShadow;$.attachShadow=function(W){let j=H.call(this,W);for(let Z of $[m]??[])Z();return j},$[MM]=!0}function c(F,M,$){if($0(F)&&"scope"in M&&M.scope&&M.scope!=="light")throw Error("RadiantController event listeners only support light DOM scope.");let H=HM(F),P=$.bind(F),W=null,j=null,Z=null,X=null,G=!1,Q=()=>{W?.(),j?.(),Z?.(),X?.(),W=null,j=null,Z=null,X=null},U=()=>{if(G)return;if("window"in M&&!W)window.addEventListener(M.type,P,M.options),W=()=>{window.removeEventListener(M.type,P,M.options)};if("document"in M&&!j)document.addEventListener(M.type,P,M.options),j=()=>{document.removeEventListener(M.type,P,M.options)};if("selector"in M||"ref"in M){let B="selector"in M?M.selector:`[data-ref='${CSS.escape(M.ref)}']`;if(M.scope!=="shadow"&&!Z)Z=$M(H,M,B,P);if(M.scope!=="light"&&H.shadowRoot&&!X)X=$M(H.shadowRoot,M,B,P)}};if("selector"in M||"ref"in M){if(M.scope!=="light")H0(F,()=>{if(F.isConnected)U()})}if(F.registerConnectedCallback(U),F.registerCleanupCallback(Q),F.isConnected)U();return()=>{G=!0,Q()}}function PM(F){return(M,$,H)=>{let P=H.value;return q(M,(W)=>{c(W,F,P.bind(W))}),H}}function WM(F){return function(M,$){$.addInitializer(function(){c(this,F,M.bind(this))})}}function U$(F){function M($,H,P){return J(WM(F),PM(F),$,H,P)}return M}function jM(F){return(M,$)=>{let H=Symbol(`@ecopages/radiant/on-updated:${$}:cleanup`);q(M,(P)=>{P.registerConnectedCallback(()=>{let W=P[$].bind(P),j=[];if(Array.isArray(F))for(let Z of F)j.push(P.registerUpdateCallback(Z,W));else if(typeof F==="string")j.push(P.registerUpdateCallback(F,W));P[H]=()=>{for(let Z of j)Z()}}),P.registerCleanupCallback(()=>{let W=P[H];if(typeof W==="function")W(),delete P[H]})})}}function ZM(F){return function(M,$){$.addInitializer(function(){let H=M.bind(this);if(Object.defineProperty(this,$.name,{value:H,configurable:!0,writable:!0}),Array.isArray(F))for(let P of F)this.registerUpdateCallback(P,H);else if(typeof F==="string")this.registerUpdateCallback(F,H)})}}function z$(F){function M($,H,P){return J(ZM(F),jM(F),$,H,P)}return M}var $F=Symbol.for("@ecopages/radiant.reactivePropDefinitions");function d(F,M,$){let H=F.constructor,P=H[$F]??[];if(P.some((W)=>W.name===M))return;P.push({name:M,options:$}),H[$F]=P}function T$(F){return(F.constructor[$F]??[]).slice()}function XM({type:F,attribute:M,reflect:$,defaultValue:H,bind:P}){if(H!==void 0&&!D(F,H))throw Error(`defaultValue does not match the expected type for ${F.name}`);return(W,j)=>{let Z=M??j;d(W,j,{type:F,reflect:$,attribute:Z,defaultValue:H,bind:P});let X=Symbol.for(`@ecopages/radiant.ssr-prop:${j}`);Object.defineProperty(W,j,{get(){return this[X]??H},set(G){this[X]=G},configurable:!0,enumerable:!0}),q(W,(G)=>{G.registerConnectedCallback(()=>{let Q=G[j],U=H===void 0?Q:H;G.createReactiveProp(j,{type:F,reflect:$,attribute:Z,defaultValue:U,bind:P})})})}}function GM({type:F,attribute:M,reflect:$,defaultValue:H,bind:P}){if(H!==void 0&&!D(F,H))throw Error(`defaultValue does not match the expected type for ${F.name}`);return function(W,j){let Z=String(j.name),X=M??Z,G=Symbol(`@ecopages/radiant/reactive-prop:${Z}:initializer`);return j.addInitializer(function(){let Q=this[G],U=H===void 0?Q:H;d(this,Z,{type:F,reflect:$,attribute:X,defaultValue:H,bind:P}),this.createReactiveProp(Z,{type:F,reflect:$,attribute:X,defaultValue:U,bind:P})}),function(Q){return this[G]=Q,Q}}}function N$(F){function M($,H){return R(GM(F),XM(F),$,H)}return M}function P0(F){return!(F instanceof Element)}function W0(F){return"shadowRoot"in F?F.shadowRoot??null:null}function j0(F){return F instanceof Element?F:F.host}function Z0(F,M="light"){let $=W0(F);if(M==="shadow")return $?[$]:[];if(M==="both")return $?[F,$]:[F];return[F]}function s(F,M){if(P0(F)&&M.scope&&M.scope!=="light")throw Error("RadiantController queries only support light DOM scope.");let $=j0(F),H="selector"in M?M.selector:`[data-ref="${M.ref}"]`,P=null,W=()=>{let j=Z0($,M.scope);if(M.all)return j.flatMap((Z)=>Array.from(Z.querySelectorAll(H)));for(let Z of j){let X=Z.querySelector(H);if(X)return X}return null};return{get value(){if(M.cache){if(P===null||M.all&&Array.isArray(P)&&!P.length)P=W();return P}return W()}}}function BM({cache:F=!0,...M}){return($,H)=>{q($,(P)=>{P.registerConnectedCallback(()=>{let W=s(P,{cache:F,...M});Object.defineProperty(P,H,{get(){return W.value},enumerable:!0,configurable:!0})})})}}function QM(F){return function(M,$){let H=String($.name);$.addInitializer(function(){let P=s(this,F);Object.defineProperty(this,H,{get(){return P.value},enumerable:!0,configurable:!0})})}}function i$(F){function M($,H){return R(QM(F),BM(F),$,H)}return M}function I(F,M={}){let $=null,H,P=()=>{if(M.all)return typeof F.getSlotElements==="function"?F.getSlotElements(M.name):[];return typeof F.getSlotElement==="function"?F.getSlotElement(M.name):null};return{get value(){if(M.cache===!1)return P();let W=F.slotProjectionVersion??0;if(H!==W)$=P(),H=W;return $}}}function qM(F={}){return(M,$)=>{let H=(j)=>{return typeof Object.getOwnPropertyDescriptor(j,$)?.get==="function"},P=(j)=>{if(H(j))return;let Z=I(j,F);Object.defineProperty(j,$,{get(){return Z.value},enumerable:!0,configurable:!0})},W=new WeakMap;Object.defineProperty(M,$,{get(){let j=W.get(this);if(!j)j=I(this,F),W.set(this,j);return j.value},enumerable:!0,configurable:!0}),q(M,(j)=>{GF(j,()=>{P(j)}),j.registerConnectedCallback(()=>{P(j)})})}}function UM(F={}){return function(M,$){let H=String($.name);$.addInitializer(function(){let P=I(this,F);Object.defineProperty(this,H,{get(){return P.value},enumerable:!0,configurable:!0})})}}function PH(F={}){function M($,H){return R(UM(F),qM(F),$,H)}return M}function RM(F){return RF({type:"signal",...F})}function DM(F){return DF(F)}import{createMarkupNodeLike as X0}from"@ecopages/jsx";import{state as G0}from"@ecopages/signals";function p(F){return typeof F==="object"&&F!==null&&typeof F.get==="function"&&typeof F.set==="function"&&typeof F.subscribe==="function"&&typeof F.update==="function"}class E{host;hydrate;hydrationKey;property;source;currentValue;hasAppliedHostHydration=!1;sourceUnsubscribe;constructor(F){this.host=F.host,this.hydrate=F.hydrate,this.hydrationKey=F.hydrationKey,this.property=F.property,this.source=F.source??G0(this.resolveInitialValue(F.initialValue)),this.currentValue=this.source.get()}get(){return this.source.get()}set(F){this.source.set(F)}subscribe(F){return this.source.subscribe(F)}update(F){this.set(F(this.get()))}connectToSource(){if(this.sourceUnsubscribe)return;let F=this.source.get();if(!Object.is(this.currentValue,F)){let M=this.currentValue;this.currentValue=F,this.host.notifyUpdate(this.property,M,F)}this.sourceUnsubscribe=this.source.subscribe((M)=>{this.handleSourceChange(M)})}disconnectFromSource(){this.sourceUnsubscribe?.(),this.sourceUnsubscribe=void 0}hydrateFromHost(){if(!this.hydrate||this.hasAppliedHostHydration)return;this.hasAppliedHostHydration=!0;let F=this.source.get(),M=this.resolveInitialValue(F);if(!Object.is(F,M))this.source.set(M),this.currentValue=this.source.get(),this.host.notifyUpdate(this.property,F,this.currentValue)}renderHydrationScript(){let F=this.renderHydrationScriptTag();if(!F)return;return X0(F)}renderHydrationScriptTag(){let F=this.serializeHydrationValue();if(!F)return;return RM({hydrationKey:this.hydrationKey,serializedValue:F})}findHydrationScriptElement(){if(!(this.host instanceof Element))return null;return JF(this.host,"signal",this.hydrationKey)}isObject(F){return typeof F==="object"&&!Array.isArray(F)&&F!==null}resolveInitialValue(F){if(!this.hydrate)return F;let M=this.findHydrationScriptElement();if(!M)return F;let $=LF(M,F);if(this.hydrate===Object&&this.isObject($)&&this.isObject(F))return{...F,...$};return $}serializeHydrationValue(){if(!this.hydrate)return;let F=JSON.stringify(this.get());if(typeof F!=="string")return;return DM(F)}handleSourceChange(F){let M=this.currentValue;if(this.currentValue=F,!Object.is(M,F))this.host.notifyUpdate(this.property,M,F)}}function i(F){return new E(F)}function HF(F={}){return(M,$)=>{let H=(P)=>{let W=P[$];if(W instanceof E)return W;let j=typeof F.source==="function"?F.source(P):F.source??(p(W)?W:void 0),Z=F.bind??P.shouldAutoBindReactiveMembers?.()??!1,X=j!==void 0?F.initial:W===void 0?F.initial:W;P.defineReactiveBinding($,Z);let G=i({host:P,hydrate:F.hydrate,hydrationKey:$,initialValue:X,property:$,source:j});if(P.registerConnectedCallback(()=>{G.hydrateFromHost(),G.connectToSource()}),P.registerCleanupCallback(()=>{G.disconnectFromSource()}),F.hydrate)P.registerHydrationBinding($,G);return P[$]=G,G};q(M,(P)=>{let W=H(P);P.registerConnectedCallback(()=>{if(!(P[$]instanceof E))P[$]=W})})}}function PF(F={}){return function(M,$){let H=String($.name);return function(P){let W=typeof F.source==="function"?F.source(this):F.source??(p(P)?P:void 0),j=W!==void 0?F.initial:P===void 0?F.initial:P,Z=F.bind??this.shouldAutoBindReactiveMembers?.()??!1;this.defineReactiveBinding(H,Z);let X=i({host:this,hydrate:F.hydrate,hydrationKey:H,initialValue:j,property:H,source:W});if(this.registerConnectedCallback(()=>{X.hydrateFromHost(),X.connectToSource()}),this.registerCleanupCallback(()=>{X.disconnectFromSource()}),F.hydrate)this.registerHydrationBinding(H,X);return X}}}function YH(F,M){if(typeof M<"u"){if(typeof M==="object"){if(F!==void 0)throw TypeError("@signal standard decorators require an undefined target");return PF()(void 0,M)}if(F===void 0)throw TypeError("@signal legacy decorators require a host target");return HF()(F,M)}let $=F??{};function H(P,W){if(typeof W==="object"){if(P!==void 0)throw TypeError("@signal standard decorators require an undefined target");return PF($)(void 0,W)}if(P===void 0)throw TypeError("@signal legacy decorators require a host target");return HF($)(P,W)}return H}function LM(F,M){q(F,($)=>{$.registerConnectedCallback(()=>{$.createReactiveField(M,$[M],{bind:$.shouldAutoBindReactiveMembers?.()??!1})})})}function JM(F,M){let $=Symbol(`__${String(M.name)}__value`),H=String(M.name);return M.addInitializer(function(){this.defineReactiveBinding(H,this.shouldAutoBindReactiveMembers?.()??!1),this.registerReactiveDependencyReader(H,()=>this[$]),Object.defineProperty(this,M.name,{get(){return this.trackReactiveRead(H),this[$]},set(P){let W=this[$];if(W!==P)this[$]=P,this.notifyUpdate(H,W,P)},enumerable:!0,configurable:!0})}),function(P){return this[$]=P,P}}function wH(F,M){return R(JM,LM,F,M)}export{b as visitControllerElements,F2 as stopControllers,wH as state,e0 as startControllers,YH as signal,cF as setControllerRegistrationStrategy,o0 as resolveRegisteredController,aM as replaceController,dF as registerControllerWithConfiguredStrategy,oM as registerController,PH as querySlot,i$ as query,N$ as prop,yF as parseControllerIdentifiers,z$ as onUpdated,U$ as onEvent,r0 as hasRegisteredController,$$ as event,a0 as enableControllerReplacementForHmr,t0 as disableControllerReplacementForHmr,d2 as debounce,V2 as customElement,T2 as controller,Y2 as bound,U2 as attr,V as RadiantElement,hF as RadiantController,mF as ControllerRegistryRuntime,uF as CONTROLLER_REGISTRY_STATE_KEY,N as CONTROLLER_ATTRIBUTE};
2
2
 
3
- //# debugId=1980B71C52BC7E8864756E2164756E21
3
+ //# debugId=DD20C216AEE4D77064756E2164756E21