@spearwolf/shadow-objects 0.29.0 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +1 -1
- package/bundle.js +75 -2
- package/package.json +10 -2
- package/src/in-the-dark/Kernel.d.ts.map +1 -1
- package/src/in-the-dark/Kernel.js +21 -2
- package/src/in-the-dark/Kernel.js.map +1 -1
- package/src/types.d.ts +16 -1
- package/src/types.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to [@spearwolf/shadow-objects](https://github.com/spearwolf/
|
|
|
5
5
|
The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.30.1] - 2026-02-04
|
|
9
|
+
|
|
10
|
+
- update dependencies
|
|
11
|
+
- `@spearwolf/signalize` to 0.27.2
|
|
12
|
+
|
|
13
|
+
## [0.30.0] - 2026-01-21
|
|
14
|
+
|
|
15
|
+
- **New Feature:** Added `emit()` helper to `ShadowObjectCreationAPI`.
|
|
16
|
+
- Simplifies emitting events from within shadow-object implementations.
|
|
17
|
+
- Example:
|
|
18
|
+
```typescript
|
|
19
|
+
emit('my-event', { some: 'data' });
|
|
20
|
+
```
|
|
21
|
+
- This is equivalent to `emit(entity, 'my-event', { some: 'data' })`.
|
|
22
|
+
- **Refactor** Eliminate a potential memory leak when unsubcribing from event subscriptions by calling the returned unsubscribe function from `on()` and `once()` from the `ShadowObjectCreationAPI`.
|
|
23
|
+
|
|
8
24
|
## [0.29.0] - 2026-01-21
|
|
9
25
|
|
|
10
26
|
- **New Feature:** Added `forward-custom-events` attribute to `<shae-ent>` custom element.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Shadow Objects Framework
|
|
2
2
|
|
|
3
|
-
This package contains the core library for the **Shadow Objects Framework
|
|
3
|
+
This package contains the core library for the **Shadow Objects Framework** — a reactive library that decouples business logic from UI rendering using a full Entity Component System (ECS) architecture.
|
|
4
4
|
|
|
5
5
|
**👉 [Read the Documentation](./docs/README.md)**
|
|
6
6
|
|
package/bundle.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
@file @spearwolf/shadow-objects - a reactive entity-component framework that feels at home in the shadows
|
|
3
3
|
@author Wolfger Schramm <wolfger@spearwolf.de>
|
|
4
|
-
@version 0.
|
|
4
|
+
@version 0.30.1+bundle.20260209
|
|
5
5
|
|
|
6
6
|
Copyright 2026 Wolfger Schramm
|
|
7
7
|
|
|
@@ -18,7 +18,56 @@ See the License for the specific language governing permissions and
|
|
|
18
18
|
limitations under the License.
|
|
19
19
|
|
|
20
20
|
*/
|
|
21
|
-
var ne="*",rs=1,Pt=2,Rt=4,U=Symbol.for("eventize"),Ys="[eventize]",ze=s=>s===ne,is=s=>{switch(typeof s){case"string":case"symbol":return!0;default:return!1}},ns=typeof console<"u",Ks=ns?console[console.warn?"warn":"log"].bind(console,Ys):()=>{},Js=(s,e,t)=>(Object.defineProperty(s,e,{value:t,configurable:!0}),s),Xs=0,os=class{static publish(s){s.sort((e,t)=>e.order-t.order).forEach(e=>e.emit())}events=new Map;eventNames=new Set;add(s){Array.isArray(s)?s.forEach(e=>this.eventNames.add(e)):this.eventNames.add(s)}remove(s){Array.isArray(s)?s.forEach(e=>this.eventNames.delete(e)):this.eventNames.delete(s),this.clear(s)}clear(s){Array.isArray(s)?s.forEach(e=>this.events.delete(e)):this.events.delete(s)}retain(s,e){this.eventNames.has(s)&&this.events.set(s,{args:e,order:Xs++})}isKnown(s){return this.eventNames.has(s)}emit(s,e,t=[]){if(ze(s))this.eventNames.forEach(r=>this.emit(r,e,t));else if(this.events.has(s)){let{order:r,args:i}=this.events.get(s);t.push({order:r,emit:()=>e.apply(s,i)})}return t}},Tt=(s,e,t,r)=>{if(typeof e=="function"){let i=e.apply(s,t);i!=null&&r?.(i)}},Zs=(s,e,t,r)=>Tt(e,e.emit,[s].concat(t),r),er=s=>{switch(typeof s){case"function":return rs;case"string":case"symbol":return Pt;case"object":return Rt}},tr=0,sr=()=>++tr,as=class{id;eventName;isCatchEmAll;priority;listener;listenerObject;listenerType;callAfterApply;isRemoved;refCount;constructor(s,e,t,r=null){this.id=sr(),this.eventName=s,this.isCatchEmAll=ze(s),this.listener=t,this.listenerObject=r,this.priority=e,this.listenerType=er(t),this.callAfterApply=void 0,this.isRemoved=!1,this.refCount=1}isEqual(s,e=null){if(s===this)return!0;let t=typeof s;return t==="number"&&s===this.id?!0:e===null&&(t==="string"||t==="symbol")?s===ne||s===this.eventName:this.listener===s&&this.listenerObject===e}apply(s,e,t){if(this.isRemoved)return;let{listener:r,listenerObject:i}=this;switch(this.listenerType){case rs:Tt(i,r,e,t),this.callAfterApply&&this.callAfterApply();break;case Pt:Tt(i,i[r],e,t),this.callAfterApply&&this.callAfterApply();break;case Rt:{let n=r[s];if(this.isCatchEmAll||this.eventName===s){if(typeof n=="function"){let o=n.apply(r,e);o!=null&&t?.(o)}else Zs(s,r,e,t);this.callAfterApply&&this.callAfterApply()}break}}}},rr=(s,e)=>s.priority!==e.priority?e.priority-s.priority:s.id-e.id,es=s=>s?.slice(0),ts=(s,e)=>{let t=s.indexOf(e);t>-1&&s.splice(t,1)},ir=s=>s===Rt||s===Pt,Ot=(s,e,t)=>{let r=s.findIndex(i=>i.isEqual(e,t));r>-1&&(s[r].isRemoved=!0,s.splice(r,1))},Ve=(s,e,t)=>{let r=[];for(let i of s)(e==null&&i.listenerObject===t||i.eventName===e&&i.listener===t)&&r.push(i);for(let i of r)Ot(s,i,void 0)},At=s=>{s&&(s.forEach(e=>{e.isRemoved=!0}),s.length=0)},nr=(s,e)=>s.listenerType===e.listenerType?s.priority===e.priority&&s.eventName===e.eventName&&s.listenerObject===e.listenerObject&&s.listener===e.listener:!1,or=(s,e)=>{if(ir(s.listenerType))return e.find(t=>nr(s,t))},ar=(s,e)=>{let t=or(s,e);return t?(t.refCount+=1,t):(e.push(s),e.sort(rr),s)},hr=class{namedListeners;catchEmAllListeners;getListenersForEventName=s=>{let e=this.namedListeners.get(s);return e||(e=[],this.namedListeners.set(s,e)),e};constructor(){this.namedListeners=new Map,this.catchEmAllListeners=[]}add(s){return ar(s,s.isCatchEmAll?this.catchEmAllListeners:this.getListenersForEventName(s.eventName))}remove(s,e,t=!1){e==null&&Array.isArray(s)?s.forEach(r=>this.remove(r,null,t)):s==null||e==null&&ze(s)?this.removeAllListeners():e==null&&is(s)?At(this.namedListeners.get(s)):s instanceof as?s.isRemoved||(s.refCount-=1,s.refCount<1&&(s.isRemoved=!0,this.namedListeners.forEach(r=>ts(r,s)),ts(this.catchEmAllListeners,s))):t?ze(s)&&typeof s=="object"?Ve(this.catchEmAllListeners,ne,s):this.namedListeners.forEach(r=>Ve(r,s,e)):(this.namedListeners.forEach(r=>{Ot(r,s,e),typeof s=="object"&&Ve(r,void 0,s)}),Ot(this.catchEmAllListeners,s,e),typeof s=="object"&&Ve(this.catchEmAllListeners,void 0,s))}removeAllListeners(){this.namedListeners.forEach(s=>At(s)),this.namedListeners.clear(),At(this.catchEmAllListeners)}forEach(s,e){let t=es(this.catchEmAllListeners),r=es(this.namedListeners.get(s));if(s===ne||!r||r.length===0)t.forEach(e);else if(t.length===0)r.forEach(e);else{let i=r.length,n=t.length,o=0,l=0;for(;o<i||l<n;){if(o<i){let a=r[o];if(l>=n||a.priority>=t[l].priority){e(a),++o;continue}}l<n&&(e(t[l]),++l)}}}getSubscriptionCount(){let s=this.catchEmAllListeners.length;for(let e of this.namedListeners.values())s+=e.length;return s}},oe=s=>!!(s&&s[U]);function Se(s){if(oe(s))return s;let e=new hr,t=new os;return Js(s,U,{keeper:t,store:e}),s}var G={Max:Number.POSITIVE_INFINITY,AAA:1e9,BB:1e6,C:1e3,Default:0,Low:-1e4,Min:Number.NEGATIVE_INFINITY},lr=(s,e,t,r,i,n,o)=>{let l=s.add(new as(t,r,i,n));return e.emit(t,l,o),l},ur=(s,e,t,r)=>{let i=t.length,n=typeof t[0],o,l,a,f;if(i>=2&&i<=3&&n==="number"?(o=ne,[l,a,f]=t):i>=3&&i<=4&&typeof t[1]=="number"?[o,l,a,f]=t:(l=G.Default,n==="string"||n==="symbol"||Array.isArray(t[0])?[o,a,f]=t:(o=ne,[a,f]=t)),!a&&ns)throw Ks("called with insufficient arguments!",t),"subscribeTo() called with insufficient arguments!";let C=v=>u=>lr(s,e,u,v,a,f,r);return Array.isArray(o)?o.map(v=>Array.isArray(v)?C(v[1])(v[0]):C(l)(v)):C(l)(o)},hs=(s,e,t)=>{let r=[],i=ur(s,e,t,r);return os.publish(r),i},ss=s=>e=>{e.callAfterApply=()=>{s?.()}},ls=(s,e)=>Object.assign(()=>x(s,e),Array.isArray(e)?{listeners:e}:{listener:e}),us=(s,e,t,r)=>{let{store:i,keeper:n}=s[U];Array.isArray(e)?e.forEach(o=>{i.forEach(o,l=>l.apply(o,t,r)),n.retain(o,t)}):e!==ne&&(i.forEach(e,o=>{o.apply(e,t,r)}),n.retain(e,t))},m=(s,...e)=>{let t=Se(s),{store:r,keeper:i}=t[U];return ls(t,hs(r,i,e))},E=(s,...e)=>{let t=Se(s),{store:r,keeper:i}=t[U],n=hs(r,i,e),o=ls(t,n),l=!1,a=()=>{l||(o(),l=!0)};return Array.isArray(n)?n.forEach(ss(a)):ss(a)(n),a},pe=(s,e)=>new Promise(t=>{E(s,e,t)}),x=(s,e,t)=>{if(!oe(s))throw new Error("object is not eventized");let{store:r,keeper:i}=s[U],n=typeof e,o=t!=null&&(n==="string"||n==="symbol");r.remove(e,t,o),Array.isArray(e)?i.remove(e.filter(l=>typeof l=="string")):is(e)&&i.remove(e)},g=(s,e,...t)=>{if(!oe(s))throw new Error("object is not eventized");us(s,e,t)},cr=(s,e,...t)=>{if(!oe(s))throw new Error("object is not eventized");let r=[];return us(s,e,t,i=>{r.push(i)}),r=r.map(i=>Array.isArray(i)?Promise.all(i):Promise.resolve(i)),r.length>0?Promise.all(r):Promise.resolve()},B=(s,e)=>{let t=Se(s),{keeper:r}=t[U];r.add(e)},X=(s,e)=>{if(!oe(s))throw new Error("object is not eventized");let{keeper:t}=s[U];t.clear(e)},k=(()=>{let s=(e={})=>Se(e);return s.inject=(e={})=>(e=Se(e),Object.assign(e,{on:(...t)=>m(e,...t),once:(...t)=>E(e,...t),onceAsync:t=>pe(e,t),off:(t,r)=>x(e,t,r),emit:(t,...r)=>g(e,t,...r),emitAsync:(t,...r)=>cr(e,t,...r),retain:t=>B(e,t),retainClear:t=>X(e,t)}),e),s.is=oe,s})();var Mt=s=>oe(s)?s[U]?.store?.getSubscriptionCount()??0:0;var L=Symbol.for("signal"),ae=Symbol.for("effect"),Lt=Symbol.for("destroySignal"),jt=Symbol.for("createEffect"),cs=Symbol.for("destroyEffect"),ge="value",Dt="mute",_t="unmute",Z="destroy",he=Symbol.for("recall");var le=k(),I=k(),q=k(),Ue=k();var ue=class{static current;delayedEffects=[];batch(e,t){let r=this.delayedEffects.length;for(let i=0;i<r;i++){let[n,o]=this.delayedEffects[i];if(!(n>t))if(n===t){o.add(e);return}else{this.delayedEffects.splice(i,0,[t,new Set([e])]);return}}this.delayedEffects.push([t,new Set([e])])}flush(){this.run(),this.delayedEffects.length=0}run(){let e=new Set,t=[m(q,(i,n)=>{n===he&&e.add(i)}),m(Ue,i=>{e.add(i)})],r=this.delayedEffects.flatMap(([,i])=>Array.from(i));for(let i of r)e.has(i)||g(q,i,i,he);t.forEach(i=>{i()})}},ds=()=>ue.current;function O(s){let e=ue.current;e?e=void 0:e=ue.current=new ue;try{s()}finally{e&&(ue.current=void 0,e.run())}}var Nt=0;function Ge(s){Nt++;try{s()}finally{Nt--}}function Be(){return Nt>0}var qe=class{[ae];constructor(e){this[ae]=e,E(e,ye.Destroy,()=>{this[ae]=void 0})}run=()=>this[ae]?.run();destroy=()=>{this[ae]?.destroy(),this[ae]=void 0}};var ee=new Map,j=class s{#e=new Set;#t=new Set;#s=new Map;#i=new WeakMap;#r=new Map;#n=new Set;#o=new Set;#a;#h;static get(e){if(e!=null)return e instanceof s?e:ee.get(e)}static findOrCreate(e){if(e==null)throw new Error("Cannot create a group with a null object");return new s(e)}static destroy(e){console.warn("SignalGroup.destroy(obj) is deprecated. Use SignalGroup.delete(obj) instead."),s.delete(e)}static delete(e){ee.get(e)?.clear()}static clear(){for(let e of ee.values())e.destroy();ee.clear()}constructor(e){if(e!=null&&e instanceof s)return e;if(e??=this,ee.has(e))return ee.get(e);this.#h=e,ee.set(e,this),k(this)}attachGroup(e){if(e===this)throw new Error("Cannot attach a group to itself");return this.#e.add(e),e.#a&&e.#a!==this&&e.#a.#e.delete(e),e.#a=this,e}detachGroup(e){return e!==this&&this.#e.has(e)&&(this.#e.delete(e),e.#a=void 0),e}attachSignal(e){let t=S(e);if(t?.destroyed)throw new Error("Cannot attach a destroyed signal to a group");return t&&this.#t.add(t),e}attachSignalByName(e,t){if(t){this.attachSignal(t);let r=S(t);this.#s.set(e,r),this.#r.has(e)?this.#r.get(e).push(r):this.#r.set(e,[r]),this.#i.has(r)?this.#i.get(r).add(e):this.#i.set(r,new Set([e]))}else this.#s.delete(e);return t}hasSignal(e){return this.#s.has(e)||!!this.#a?.hasSignal(e)}signal(e){return this.#s.get(e)?.object??this.#a?.signal(e)}detachSignal(e){let t=S(e);if(t&&(this.#t.delete(t),this.#i.has(t))){let r=this.#i.get(t);for(let i of r)if(this.#r.has(i)){let n=this.#r.get(i);n.splice(n.indexOf(t),1),n.length===0?(this.#s.delete(i),this.#r.delete(i)):this.#s.get(i)===t&&this.#s.set(i,n.at(-1))}r.clear(),this.#i.delete(t)}return e}attachEffect(e){return this.#n.add(e),e}runEffects(){for(let e of this.#n)e.run();for(let e of this.#e)e.runEffects()}attachLink(e){if(e?.isDestroyed)throw new Error("Cannot attach a destroyed link to a group");return e&&this.#o.add(e),e}detachLink(e){return e&&this.#o.delete(e),e}destroy(){console.warn("SignalGroup#destroy is deprecated. Use SignalGroup#clear instead."),this.clear()}clear(){g(this,Z,this),x(this);for(let e of this.#e)e.destroy();for(let e of this.#n)e.destroy();for(let e of this.#t)A(e);for(let e of this.#o)e.destroy();this.#e.clear(),this.#t.clear(),this.#s.clear(),this.#r.clear(),this.#n.clear(),this.#o.clear(),this.#a?.detachGroup(this),this.#h&&(ee.delete(this.#h),this.#h=void 0)}};var me=class{#e;#t;constructor(e="id",t=1){this.#e=e,this.#t=t}make(){return Symbol(`${this.#e}${this.#t++}`)}};var $t=[],He=()=>$t.at(-1),fs=(s,e)=>{$t.push(s);try{return e()}finally{$t.pop()}};var dr=s=>s!=null&&typeof s.then=="function",ye=class s{static idGen=new me("ef");static Destroy="destroy";static count=0;id;callback;#e;#t=new Set;#s=new Set;#i=new Map;#r=new Set;parentEffect;childEffects=[];curChildEffectSlot=0;autorun=!0;shouldRun=!0;priority;#n;#o=!1;constructor(e,t){k(this),this.callback=e;let r;t?.attach!=null&&(r=j.findOrCreate(t.attach),r.attachEffect(this)),this.autorun=t?.autorun??!0,this.#n=t?.dependencies?t.dependencies.map(i=>{switch(typeof i){case"string":case"symbol":return r.signal(i);default:return i}}):void 0,this.id=s.idGen.make(),this.priority=t?.priority??0,m(q,this.id,he,this),++s.count}hasStaticDeps(){return this.#n!=null&&this.#n.length>0}saveSignalsFromDeps(){for(let e of this.#n)this.whenSignalIsRead(S(e).id)}static createEffect(e,t,r){let i=Array.isArray(t)?t:void 0,n=i?r??{dependencies:i}:t;n&&i&&(n.dependencies=i);let o,l=He();return l!=null?(o=l.getCurrentChildEffect(),o==null&&(o=new s(e,n),l.attachChildEffect(o),g(q,jt,o)),l.curChildEffectSlot++):(o=new s(e,n),g(q,jt,o)),o.hasStaticDeps()?o.saveSignalsFromDeps():o.autorun&&o.run(),new qe(o)}getCurrentChildEffect(){return this.childEffects[this.curChildEffectSlot]}attachChildEffect(e){this.childEffects.push(e),this.parentEffect=this}run=()=>{if(this.#o||!this.shouldRun)return;let e=ds();e?e.batch(this.id,this.priority):(this.runCleanupCallback(),this.curChildEffectSlot=0,this.shouldRun=!1,g(Ue,this.id,this.id),this.hasStaticDeps()?this.#e=this.callback():(this.#s=new Set(this.#t),this.#e=fs(this,this.callback),this.cleanupLostSignals(),this.#r.clear()))};[he](){this.shouldRun=!0,this.autorun&&this.run()}whenSignalIsRead(e){this.#s.delete(e),this.#t.has(e)||(this.#t.add(e),this.#i.set(e,[m(le,e,this.priority,he,this),E(I,e,Lt,this)]))}[Lt](e){!this.#r.has(e)&&this.#t.has(e)&&(this.#r.add(e),this.unsubscribeSignal(e),this.#r.size===this.#t.size&&this.destroy())}cleanupLostSignals(){for(let e of this.#s)this.unsubscribeSignal(e),this.#t.delete(e)}unsubscribeSignal(e){this.#i.has(e)&&(this.#i.get(e).forEach(t=>{t()}),this.#i.delete(e))}runCleanupCallback(){if(this.#e!=null){let e=this.#e;this.#e=void 0,dr(e)?Promise.resolve(e).then(t=>{typeof t=="function"&&t()}):e()}}destroy=()=>{this.#o||(g(this,s.Destroy,this),x(this),g(q,cs,this),this.runCleanupCallback(),x(le,this),x(q,this),x(I,this),this.#o=!0,this.#t.clear(),this.#s.clear(),this.#i.clear(),this.#r.clear(),this.childEffects.forEach(e=>{e.destroy()}),this.childEffects.length=0,--s.count)}};var w=(...s)=>ye.createEffect(...s);var xe=new WeakMap,fr=s=>{let e=xe.get(s);return e||(e={},xe.set(s,e)),e},R=(s,e)=>xe.get(s)?.signals?.get(e);var ps=(s,e,t)=>{let r=fr(s);r.signals??=new Map,r.signals.set(e,t)};function ke(...s){for(let e of s)if(xe.has(e)){let t=xe.get(e);if(t.signals){for(let r of t.signals.values())A(r);t.signals.clear(),t.signals=void 0}}}function gs(s){let e=S(H(s)?s:R(...s));e!=null&&!e.muted&&!e.destroyed&&Qe(e.id,e.value,{touch:!0})}function ce(s){return H(s)?S(s)?.value:S(R(...s))?.value}var Ye=class{[L];constructor(e){this[L]=e}get get(){return this[L].reader}get set(){return this[L].writer}get value(){return ce(this.get)}set value(e){this.set(e)}onChange(e){let{destroy:t}=w(()=>e(this.value),[this.get]);return t}get muted(){return this[L].muted}set muted(e){this[L].muted=e}touch(){gs(this)}destroy(){A(this)}};var pr=new me("si");function ys(s){Be()||He()?.whenSignalIsRead(s)}function Qe(s,e,t){Be()||g(le,s,e,t)}var H=s=>s!=null&&s[L]!=null,gr=s=>{let e=t=>(t?w(()=>(s.destroyed||ys(s.id),t(s.value)),[e]):s.destroyed||(s.beforeRead?.(),ys(s.id)),s.value);return Object.defineProperty(e,L,{value:s}),e},Ke=class s{static instanceCount=0;id;lazy;get[L](){return this}compare;beforeRead;muted=!1;destroyed=!1;#e=void 0;get value(){return this.lazy&&(this.#e=this.valueFn(),this.valueFn=void 0,this.lazy=!1),this.#e}set value(e){this.#e=e}valueFn;reader;writer=(e,t)=>{let r=t?.lazy??!1,n=t?.compare??this.compare??((l,a)=>l===a);if((r!==this.lazy||r&&e!==this.valueFn||!r&&!n(e,this.#e))&&(r?(this.#e=void 0,this.valueFn=e,this.lazy=!0):(this.#e=e,this.valueFn=void 0,this.lazy=!1),!this.muted&&!this.destroyed)){Qe(this.id,this.#e);return}(t?.touch??!1)&&Qe(this.id,this.#e,{touch:!0})};object;constructor(e,t){this.id=pr.make(),++s.instanceCount,this.lazy=e,this.lazy?(this.value=void 0,this.valueFn=t):(this.value=t,this.valueFn=void 0),this.reader=gr(this),this.object=new Ye(this)}},S=s=>s?.[L];function p(s=void 0,e){let t;if(H(s))t=S(s);else{let r=e?.lazy??!1;t=new Ke(r,s),t.beforeRead=e?.beforeRead,t.compare=e?.compare}return e?.attach!=null&&j.findOrCreate(e.attach).attachSignal(t),t.object}var A=(...s)=>{for(let e of s){let t=S(e);t!=null&&!t.destroyed&&(t.destroyed=!0,t.beforeRead=void 0,--Ke.instanceCount,g(I,t.id,t.id))}};function Wt(s,e){let t=p(),r=e?.attach!=null?j.findOrCreate(e.attach):void 0;r!=null&&(e?.name?r.attachSignalByName(e.name,t):r.attachSignal(t));let i=w(()=>{O(()=>{t.set(s())})},{autorun:!(e?.lazy??!1),priority:e?.priority??G.C,attach:r}),n=S(t);return n.beforeRead=i.run,E(I,n.id,i.destroy),t.get}var Je=class{#e=!1;#t;source;lastValue;isDestroyed=!1;constructor(e){k(this),this.source=S(e),this.#t=m(le,this.source.id,(t,r)=>{!this.#e&&!this.isDestroyed&&(r?.touch===!0?this.touch():this.write())}),E(I,this.source.id,()=>this.destroy())}attach(e){let t=j.findOrCreate(e);return t.attachLink(this),E(this,Z,()=>{t.detachLink(this)}),t}nextValue(){return new Promise((e,t)=>{let r=[],i=()=>r.forEach(n=>{n()});r.push(E(this,ge,n=>{i(),e(n)}),E(this,Z,()=>{i(),t()}))})}async*asyncValues(e){let t=0;for(;!this.isDestroyed;)try{let r=await this.nextValue();if(e&&e(r,t++))break;B(this,ge),yield r}catch{break}X(this,ge)}destroy(){this.isDestroyed||(this.#t?.(),this.#t=void 0,g(this,Z,this),X(this,ge),x(this),this.lastValue=void 0,this.isDestroyed=!0,Object.freeze(this))}get isMuted(){return this.#e}mute(){return!this.isDestroyed&&!this.#e&&(this.#e=!0,g(this,Dt,this)),this}unmute(){return!this.isDestroyed&&this.#e&&(this.#e=!1,g(this,_t,this)),this}toggleMute(){return this.isDestroyed||(this.#e=!this.#e,g(this,this.#e?Dt:_t,this)),this.#e}updateValue(e){if(!this.#e&&!this.isDestroyed){let{value:t}=this.source;e(t),g(this,ge,t),this.lastValue=t}}},Xe=class extends Je{target;constructor(e,t){super(e),this.target=S(t),E(I,this.target.id,()=>this.destroy()),this.touch()}touch(){return this.updateValue(e=>{this.target.writer(e,{touch:!0})}),this}write(){this.updateValue(e=>{this.target.writer(e)})}},Ze=class extends Je{target;constructor(e,t){super(e),this.target=t,this.touch()}touch(){return this.updateValue(e=>{this.target(e)}),this}write(){this.updateValue(e=>{this.target(e)})}};var et=new Map;function M(s,e,t){let r=S(s),i;if(et.has(r)){i=et.get(r);let f=S(e)??e;if(i.has(f))return i.get(f)}else i=new Map,et.set(r,i);let n=S(e),o=n!=null?new Xe(s,n):new Ze(s,e),l=t?.attach;l&&o.attach(l);let a=n??e;return i.set(a,o),E(o,Z,()=>{i.delete(a),i.size===0&&et.delete(r)}),o}var tt=class s{static fromProps(e,t){let r=new s,i=t?t.map(n=>[n,e[n]]):Object.entries(e);for(let[n,o]of i)r.#e.set(n,p(o));return r}#e=new Map;keys(){return this.#e.keys()}signals(){return this.#e.values()}entries(){return this.#e.entries()}clear(){for(let e of this.#e.values())e.destroy();this.#e.clear()}has(e){return this.#e.has(e)}get(e){if(!this.#e.has(e)){let t=p();return this.#e.set(e,t),t}return this.#e.get(e)}update(e){e.size&&O(()=>{for(let[t,r]of e.entries())this.get(t).set(r)})}updateFromProps(e,t){O(()=>{let r=t?t.map(i=>[i,e[i]]):Object.entries(e);for(let[i,n]of r)this.get(i).set(n)})}};var F;(function(s){s[s.StructuralChanges=1]="StructuralChanges",s[s.ContentUpdates=2]="ContentUpdates",s[s.Removal=3]="Removal"})(F||(F={}));var b;(function(s){s[s.CreateEntities=1]="CreateEntities",s[s.DestroyEntities=2]="DestroyEntities",s[s.SetParent=3]="SetParent",s[s.UpdateOrder=4]="UpdateOrder",s[s.ChangeProperties=5]="ChangeProperties",s[s.ChangeToken=6]="ChangeToken",s[s.SendEvents=7]="SendEvents"})(b||(b={}));var de=Symbol.for("ShadowEntsGlobalNS"),Q="#void",ms="contextLost",bs="configure",vs="changeTrail",ws="destroy",Cs="loaded",Es="appliedChangeTrail",Ss="importedModule",xs="destroyed",be="messageToView",ks=6e4,As=6e4,Ts=5e3,Os=5e3,It="shadowObjects";function Ps(s,e){s.indexOf(e)===-1&&s.push(e)}function Ft(s,e){let t=s.indexOf(e);t!==-1&&s.splice(t,1),s.push(e)}function te(s,e){let t=s.indexOf(e);t!==-1&&s.splice(t,1)}var fe=s=>typeof s=="string"?s.trim()||de:typeof s=="symbol"?s:de;var Ae="#root",Te=class{#e;get uuid(){return this.#e}#t=0;constructor(e){this.#e=e}#s=!0;#i=0;#r=0;hasChanges(){return this.#t>0}get isNew(){return this.#s}get isCreated(){return this.#i>0&&this.#i>this.#r}get isDestroyed(){return this.#r>0&&this.#r>=this.#i}#n=Q;#o;#a=0;#h;#l;#u;create(e=Q,t,r=0){this.#t++,this.#i++,this.#h=e,this.#l=t??Ae,this.#u=r||void 0}destroy(){this.#r++,this.#t++}clear(){this.#t=0,this.#s=!1,this.#h=void 0,this.#l=void 0,this.#u=void 0,this.#d.clear(),this.#f.length=0,this.#g.length=0,this.#p.clear()}changeToken(e){e===this.#n?this.#h=void 0:(this.#h=e,this.#t++)}setParent(e){e===this.#o?this.#l=void 0:(this.#l=e??Ae,this.#t++)}changeOrder(e){e===this.#a?this.#u=void 0:(this.#u=e,this.#t++)}#c=new Map;#d=new Map;#f=[];changeProperty(e,t,r){let i=this.#c.get(e);r==null&&t!==i||r!=null&&!r(t,i)?(this.#d.set(e,t),Ft(this.#f,e),this.#t++):(this.#d.delete(e),te(this.#f,e))}removeProperty(e){let t=this.#c.has(e);this.#d.has(e)?(this.#d.delete(e),t||te(this.#f,e)):t&&(Ft(this.#f,e),this.#t++)}#g=[];#p=new Set;createEvent(e,t,r){this.#g.push({type:e,data:t}),r?.forEach(i=>this.#p.add(i)),this.#t++}transferEventsTo(e){this.#g.length>0&&(e.#g.push(...this.#g),this.#g.length=0),this.#p.size>0&&(e.#p=new Set([...e.#p,...this.#p]),this.#p.clear())}buildChangeTrail(e,t){let{isNew:r,isCreated:i,isDestroyed:n}=this;if(!(r&&n))switch(t){case F.StructuralChanges:r?e.push(this.makeCreateEntityChange()):n||(this.#l!==void 0&&!(this.#l===Ae&&this.#o===void 0)?e.push(this.makeSetParentChange()):this.#u!==void 0&&this.#u!==this.#a&&e.push(this.makeUpdateOrderChange()),this.#h!==void 0&&this.#h!==this.#n&&e.push(this.makeChangeToken()));break;case F.ContentUpdates:!r&&i&&this.#f.length>0&&e.push(this.makeChangePropertyChange()),this.#g.length>0&&e.push(this.makeEvents());break;case F.Removal:n&&e.push(this.makeDestroyEntityChange());break}}makeEvents(){let e={type:b.SendEvents,uuid:this.#e,events:this.#g.slice(0)};return this.#p.size>0&&(e.transferables=Array.from(this.#p)),e}makeCreateEntityChange(){let e={type:b.CreateEntities,uuid:this.#e,token:this.#h};if(this.#n=this.#h,this.#l!==void 0){let t=this.#l===Ae?void 0:this.#l;this.#o=t,t!==void 0&&(e.parentUuid=t)}return this.#d.size>0&&(e.properties=Array.from(this.#d.entries()).filter(([,t])=>t!==void 0),e.properties.forEach(([t,r])=>this.#c.set(t,r))),this.#u!==void 0&&this.#u!==this.#a&&(e.order=this.#a=this.#u),e}makeDestroyEntityChange(){return{type:b.DestroyEntities,uuid:this.#e}}makeSetParentChange(){this.#o=this.#l===Ae?void 0:this.#l;let e={type:b.SetParent,uuid:this.#e,parentUuid:this.#o};return this.#u!==void 0&&this.#u!==this.#a&&(e.order=this.#a=this.#u),e}makeUpdateOrderChange(){return this.#a=this.#u??0,{type:b.UpdateOrder,uuid:this.#e,order:this.#a}}makeChangeToken(){return this.#n=this.#h??Q,{type:b.ChangeToken,uuid:this.#e,token:this.#n}}makeChangePropertyChange(){let e=this.#f.map(t=>{if(this.#d.has(t)){let r=this.#d.get(t);return this.#c.set(t,r),[t,r]}else return this.#c.delete(t),[t,void 0]});return{type:b.ChangeProperties,uuid:this.#e,properties:e}}};var Rs=s=>{if(!(s===void 0||s.length===0))return s.filter(e=>e.length===1||e[1]!==void 0)},Vt=(s,e)=>{if(s===e||e===void 0)return s;if(s===void 0)return Rs(e);for(let[t,r]of e){let i=s.find(([n])=>n===t);i===void 0?s.push([t,r]):i[1]=r}return Rs(s)};var st=class{#e=new Map;get[Symbol.iterator](){return this.#e.entries.bind(this.#e)}clear(){this.#e.clear()}isEmpty(){return this.#e.size===0}hasComponentState(e){return this.#e.has(e)}getComponentState(e){return this.#e.get(e)}write(e){for(let t of e)if(t.type===b.CreateEntities)this.createEntity(t);else if(this.#e.has(t.uuid))switch(t.type){case b.DestroyEntities:this.destroyEntity(t);break;case b.SetParent:this.setParent(t);break;case b.UpdateOrder:this.updateOrder(t);break;case b.ChangeToken:this.changeToken(t);break;case b.ChangeProperties:this.changeProperties(t);break}}changeProperties({uuid:e,properties:t}){let r=this.getComponentState(e);r.properties=Vt(r.properties,t)}changeToken({uuid:e,token:t}){this.getComponentState(e).token=t||Q}updateOrder({uuid:e,order:t}){this.getComponentState(e).order=t??0}setParent({uuid:e,parentUuid:t,order:r}){let i=this.getComponentState(e);i.parentUuid=t,i.order=r??0}destroyEntity({uuid:e}){this.#e.delete(e)}createEntity({uuid:e,token:t,parentUuid:r,order:i,properties:n}){this.#e.set(e,{token:t||Q,parentUuid:r,order:i??0,properties:Vt(void 0,n)})}};var D=class s{static{this.ReRequestParentRoots="re-request-parent-roots"}static getContextsMap(){return globalThis.__shadowEntsContexts==null&&(globalThis.__shadowEntsContexts=new Map),globalThis.__shadowEntsContexts}static get(e){let t=fe(e),r=s.getContextsMap();return r.has(t)?r.get(t):new s(t)}#e=new Map;#t=[];#s=new st;constructor(e=de){let t=fe(e),r=s.getContextsMap();if(r.has(t))return r.get(t);this.ns=t,r.set(t,this)}addComponent(e){let t;this.#e.has(e.uuid)?(t=this.#e.get(e.uuid),t.component=e,t.children=[]):(t={component:e,children:[],changes:new Te(e.uuid),propIsEqual:void 0},this.#e.set(e.uuid,t)),t.changes.create(e.token,e.parent?.uuid,e.order),e.parent?(this.addToChildren(e.parent,e),t.changes.setParent(e.parent.uuid)):this.#n(e,this.#t),this.#o=void 0}hasComponent(e){return this.#e.has(e.uuid)}hasComponents(){return this.#e.size>0}isRootComponent(e){return this.#t.includes(e.uuid)}destroyComponent(e){if(this.hasComponent(e)){let t=this.#e.get(e.uuid);t.children.slice(0).forEach(r=>this.#e.get(r)?.component.removeFromParent()),t.changes.destroy(),this.#o=void 0}}getChildren(e){return this.#e.get(e.uuid)?.children.map(t=>this.#e.get(t).component)??[]}removeFromParent(e,t){if(this.hasComponent(t)){let r=this.#e.get(e),i=this.#e.get(t.uuid),n=i.children.indexOf(e);n!==-1&&(i.children.splice(n,1),r.changes.setParent(void 0)),this.#n(r.component,this.#t),this.#o=void 0}}moveToRoot(e){let t=this.#e.get(e);t&&(t.changes?.setParent(void 0),this.#n(t.component,this.#t)),this.#o=void 0}changeToken(e,t){this.#e.get(e.uuid)?.changes.changeToken(t)}isChildOf(e,t){return this.hasComponent(t)?this.#e.get(t.uuid).children.includes(e.uuid):!1}addToChildren(e,t){let r=this.#e.get(e.uuid);if(r)this.#n(t,r.children),this.#e.get(t.uuid)?.changes.setParent(e.uuid),te(this.#t,t.uuid),this.#o=void 0;else throw new Error(`the view component ${e.uuid} cannot have a child added to it because the component do not exist!`)}removeSubTree(e){let t=this.#e.get(e);t&&(t.children.slice(0).forEach(r=>this.removeSubTree(r)),this.destroyComponent(t.component),this.#i(e))}setProperty(e,t,r,i){let n=this.#e.get(e.uuid);return n!=null?(i!=null?(n.propIsEqual??=new Map,n.propIsEqual.set(t,i)):n.propIsEqual?.has(t)&&n.propIsEqual.delete(t),n.changes.changeProperty(t,r,i)):!1}removeProperty(e,t){this.#e.get(e.uuid)?.changes.removeProperty(t)}changeOrder(e){if(e.parent){let t=this.#e.get(e.parent.uuid);te(t.children,e.uuid),this.#n(e,t.children)}else te(this.#t,e.uuid),this.#n(e,this.#t);this.#e.get(e.uuid)?.changes.changeOrder(e.order),this.#o=void 0}traverseLevelOrderBFS(){return this.#a().map(e=>e.component)}dispatchShadowObjectsEvent(e,t,r,i){this.#e.get(e.uuid)?.changes.createEvent(t,r,i)}broadcastEvent(e,t=void 0){for(let r of this.traverseLevelOrderBFS())r.dispatchEvent(e,t,!1)}dispatchMessage(e,t,r=void 0,i=!1){this.#e.get(e)?.component.dispatchEvent(t,r,i)}dispatchReRequestParentRoots(){for(let e of this.#t)this.dispatchMessage(e,s.ReRequestParentRoots)}buildChangeTrails(e=!0){let t=[];if(!this.hasComponents())return t;let r=this.#r();for(let i of r)i.buildChangeTrail(t,F.StructuralChanges);for(let i of r)i.buildChangeTrail(t,F.ContentUpdates);for(let i of r)i.buildChangeTrail(t,F.Removal),(i.isDestroyed||i.isNew&&!i.isCreated)&&this.#i(i.uuid),e&&i.clear();return this.#s.write(t),t}reCreateChanges(){if(!this.#s.isEmpty()){this.buildChangeTrails(!1);for(let[e,t]of this.#s){let r=this.#e.get(e);if(r){let i=new Te(e);if(i.create(t.token,t.parentUuid,t.order),t.properties)for(let[n,o]of t.properties)i.changeProperty(n,o,r.propIsEqual?.get(n));r.changes.transferEventsTo(i),r.changes.clear(),r.changes=i}}this.#s.clear(),this.broadcastEvent(ms)}}clear(){if(this.#o=void 0,this.#s.clear(),this.#t.slice(0).forEach(e=>this.removeSubTree(e)),this.#t.length!==0)throw new Error("component-context panic: #rootComponents is not empty!");if(this.#e.size!==0)throw new Error("component-context panic: #components is not empty!")}#i(e){this.#e.has(e)&&(this.#e.delete(e),te(this.#t,e),this.#o=void 0)}#r(){return this.#a().filter(e=>e.changes.hasChanges()).map(e=>e.changes)}#n(e,t){if(t.length===0){t.push(e.uuid);return}if(t.includes(e.uuid))return;let r=t.length,i=new Array(r);if(i[0]=this.#e.get(t[0]).component,e.order<i[0].order){t.unshift(e.uuid);return}if(r===1){t.push(e.uuid);return}let n=r-1;if(i[n]=this.#e.get(t[n]).component,e.order>=i[n].order){t.push(e.uuid);return}if(r===2){t.splice(1,0,e.uuid);return}for(let o=n-1;o>=1;o--)if(i[o]=this.#e.get(t[o]).component,e.order>=i[o].order){t.splice(o+1,0,e.uuid);return}}#o;#a(){if(this.#o)return this.#o;let e=new Map,t=(r,i)=>{let n=this.#e.get(r);if(n!=null){e.has(i)?e.get(i).push(n):e.set(i,[n]);for(let o of n.children)t(o,i+1)}};return this.#t.forEach(r=>t(r,0)),this.#o=Array.from(e.entries()).sort((r,i)=>r[0]-i[0]).map(([,r])=>r).flat(),this.#o}};function Oe(s,e,t,r,i,n){function o($){if($!==void 0&&typeof $!="function")throw new TypeError("Function expected");return $}for(var l=r.kind,a=l==="getter"?"get":l==="setter"?"set":"value",f=!e&&s?r.static?s:s.prototype:null,C=e||(f?Object.getOwnPropertyDescriptor(f,r.name):{}),v,u=!1,h=t.length-1;h>=0;h--){var d={};for(var c in r)d[c]=c==="access"?{}:r[c];for(var c in r.access)d.access[c]=r.access[c];d.addInitializer=function($){if(u)throw new TypeError("Cannot add initializers after decoration has completed");n.push(o($||null))};var y=(0,t[h])(l==="accessor"?{get:C.get,set:C.set}:C[a],d);if(l==="accessor"){if(y===void 0)continue;if(y===null||typeof y!="object")throw new TypeError("Object expected");(v=o(y.get))&&(C.get=v),(v=o(y.set))&&(C.set=v),(v=o(y.init))&&i.unshift(v)}else(v=o(y))&&(l==="field"?i.unshift(v):C[a]=v)}f&&Object.defineProperty(f,r.name,C),u=!0}function se(s,e,t){for(var r=arguments.length>2,i=0;i<e.length;i++)t=r?e[i].call(s,t):e[i].call(s);return r?t:void 0}function Pe(s){return function(e,t){let r=s?.name||t.name,i=!!(s?.readAsValue??!1);return{get(){let n=R(this,r);if(n)return i?n.value:n.get()},set(n){R(this,r)?.set(n)},init(n){let o=p(n,s);return ps(this,r,o),j.findOrCreate(this).attachSignalByName(r,o),o.value}}}}var N="ConsoleLogger",_=`${N}Storage`,yr=!!(globalThis.location?.host?.startsWith("localhost")??!1),Me="localStorage"in globalThis,rt=Symbol.for(N),Ms=!1,Ls=s=>{if(typeof s=="boolean")return s;switch(s.toLowerCase()){case"true":case"yes":case"on":return!0;default:return!1}},Ut=s=>[Me?N:void 0,...Array.isArray(s)?s:[s]].filter(Boolean).join(".");function zt(s,e=void 0,t){let r=Ut(s),i=Me?localStorage.getItem(r):globalThis[_]?.[r];return i!=null?e(i):t}function Re(s,e){Me?localStorage.setItem(Ut(s),e):(globalThis[_]==null&&(globalThis[_]={},console.debug(`${N}: Initialize`,{[_]:globalThis[_]})),globalThis[_][Ut(s)]=e)}var P=class s{static{this.sharedConfig={enable:yr,debug:!1,info:!0,warn:!0,"styles.debug":"color: #111; background: #999; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.info":"color: #020; background: #8a8; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.warn":"color: #fa0; background: #a98; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.error":"color: #ff0; background: #a00; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em"}}static get isEnabled(){return s.sharedConfig.enable}static get isDebug(){return s.sharedConfig.enable&&s.sharedConfig.debug}static{this.sharedStyles={get debug(){return s.sharedConfig["styles.debug"]},set debug(e){s.sharedConfig["styles.debug"]=e},get info(){return s.sharedConfig["styles.info"]},set info(e){s.sharedConfig["styles.info"]=e},get warn(){return s.sharedConfig["styles.warn"]},set warn(e){s.sharedConfig["styles.warn"]=e},get error(){return s.sharedConfig["styles.error"]},set error(e){s.sharedConfig["styles.error"]=e}}}static loadConfig(){Me?(["enable","debug","info","warn"].forEach(e=>{this.sharedConfig[e]=zt(e,Ls,this.sharedConfig[e])}),["debug","info","warn","error"].forEach(e=>{this.sharedStyles[e]=zt(["styles",e],void 0,this.sharedStyles[e])}),s.isDebug&&console.debug(`${N}: Load config from localStorage`,s.sharedConfig),globalThis[N]?.[rt]||(globalThis[N]??={[rt]:!0,get enable(){return s.sharedConfig.enable},set enable(e){s.sharedConfig.enable=e,Re("enable",e?"true":"false")},get debug(){return s.sharedConfig.debug},set debug(e){s.sharedConfig.debug=e,Re("debug",e?"true":"false")},get info(){return s.sharedConfig.info},set info(e){s.sharedConfig.info=e,Re("info",e?"true":"false")},get warn(){return s.sharedConfig.warn},set warn(e){s.sharedConfig.warn=e,Re("warn",e?"true":"false")}})):globalThis[_]?.[rt]||(globalThis[_]={[rt]:!0,...s.sharedConfig,...globalThis[_]},s.sharedConfig=globalThis[_],s.isDebug&&console.debug(`${N}: Load config from ${_}`,globalThis[_]))}constructor(e){this.enable=!0,this.namespace=(e||"").trim()||N,Ms||(s.loadConfig(),Ms=!0);let t=[this.namespace,"enable"];this.enable=zt(t,Ls,this.enable),Re(t,Me?this.enable?"true":"false":this.enable)}get isEnabled(){return this.enable&&s.sharedConfig.enable}get isDebug(){return this.isEnabled&&s.sharedConfig.debug}get isInfo(){return this.isEnabled&&s.sharedConfig.info}get isWarn(){return this.isEnabled&&s.sharedConfig.warn}debug(...e){this.#e("debug",s.sharedStyles.debug,e)}info(...e){this.#e("info",s.sharedStyles.info,e)}warn(...e){this.#e("warn",s.sharedStyles.warn,e)}error(...e){this.#e("error",s.sharedStyles.error,e)}#e(e,t,r){console[e](`%c${this.namespace}`,t,...r)}};var V=(()=>{var s;let e,t=[],r=[],i,n=[],o=[];return class Y{static{let a=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;e=[Pe()],i=[Pe()],Oe(this,null,e,{kind:"accessor",name:"viewReady",static:!1,private:!1,access:{has:f=>"viewReady"in f,get:f=>f.viewReady,set:(f,C)=>{f.viewReady=C}},metadata:a},t,r),Oe(this,null,i,{kind:"accessor",name:"proxyReady",static:!1,private:!1,access:{has:f=>"proxyReady"in f,get:f=>f.proxyReady,set:(f,C)=>{f.proxyReady=C}},metadata:a},n,o),a&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static{this.AfterSync="afterSync"}static{this.ContextLost="contextLost"}static{this.ContextCreated="contextCreated"}static get(a){if(a!=null)return globalThis.__shadowEnvs?.get(a)}#e;#t;#s;#i;#r;#n;#o;get viewReady(){return this.#o}set viewReady(a){this.#o=a}#a;get proxyReady(){return this.#a}set proxyReady(a){this.#a=a}#h;get isDestroyed(){return this.#h}constructor(){this.#s=!1,this.#i=!1,this.#r=!1,this.logger=new P("ShadowEnv"),this.ns$=p(),this.#o=se(this,t,!1),this.#a=(se(this,r),se(this,n,!1)),this.#h=(se(this,o),!1),this.ready=async()=>this.isReady?this:pe(this,Y.ContextCreated),this.#l=()=>{this.#s&&this.#u()},B(this,Y.ContextCreated),m(this,Y.ContextLost,G.AAA,()=>{X(this,Y.ContextCreated)}),w(()=>{if(this.viewReady&&this.proxyReady)return this.view.reCreateChanges(),g(this,Y.ContextCreated,this),this.#i&&(this.#i=!1,this.#u()),()=>{g(this,Y.ContextLost,this)}},[R(this,"viewReady"),R(this,"proxyReady")])}get view(){return this.#e}set view(a){a!==this.#e&&(this.#e&&this.#e.ns&&globalThis.__shadowEnvs&&globalThis.__shadowEnvs.delete(this.#e.ns),this.#e=a??void 0,this.#e&&this.#e.ns&&(globalThis.__shadowEnvs??=new Map,globalThis.__shadowEnvs.has(this.#e.ns)&&globalThis.__shadowEnvs.get(this.#e.ns)!==this&&this.logger.isWarn&&this.logger.warn("overwrite a namespace already in use",this.#e.ns,globalThis.__shadowEnvs.get(this.#e.ns)),globalThis.__shadowEnvs.set(this.#e.ns,this)),this.viewReady=!!a)}get envProxy(){return this.#t}set envProxy(a){if(a!==this.#t){let f=this.#t;this.#t=a??void 0,this.#t&&(this.#t.onMessageToView=this.#c.bind(this)),f&&f.destroy(),this.proxyReady=!1,a?.start().then(()=>{this.proxyReady=!0}).catch(C=>{this.logger.error("failed to start envProxy",C),this.proxyReady=!1})}}get isReady(){return!!(this.#e&&this.#t&&this.proxyReady&&!this.isDestroyed)}sync(){if(!this.isReady){this.#i=!0;return}this.#s||(this.#s=!0,queueMicrotask(this.#l))}syncWait(){return this.#r=!0,this.sync(),this.#n?this.#n:(this.#n=pe(this,Y.AfterSync).then(a=>(this.#n=void 0,a)),this.#n)}destroy(){let a=this.#e?.ns;this.envProxy?.destroy(),this.envProxy=void 0,this.view=void 0,a&&globalThis.__shadowEnvs.has(a)&&globalThis.__shadowEnvs.get(a)===this&&globalThis.__shadowEnvs.delete(a),ke(this),x(this),this.#h=!0,Object.freeze(this)}#l;async#u(){if(this.#s=!1,this.isReady){let a=this.view.buildChangeTrails();if(a.length>0)try{let f=this.#r;this.#r=!1,await this.envProxy.applyChangeTrail(a,f)}catch(f){this.logger.error("failed to apply change trail",f)}finally{g(this,Y.AfterSync,a)}}}#c(a){this.logger.isDebug&&this.logger.debug("onMessageToView",a.type,a.data),this.view?.dispatchMessage(a.uuid,a.type,a.data,a.traverseChildren)}}})();var T=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],mr=()=>{let s=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(T[s&255]+T[s>>8&255]+T[s>>16&255]+T[s>>24&255]+"-"+T[e&255]+T[e>>8&255]+"-"+T[e>>16&15|64]+T[e>>24&255]+"-"+T[t&63|128]+T[t>>8&255]+"-"+T[t>>16&255]+T[t>>24&255]+T[r&255]+T[r>>8&255]+T[r>>16&255]+T[r>>24&255]).toLowerCase()},js=()=>globalThis?.crypto?.randomUUID?.()??mr();var Le=class extends Error{constructor(e){super(e),this.name="ViewComponentError"}},it=class s{#e;#t;#s;#i;#r=0;get uuid(){return this.#e}get token(){return this.#t}set token(e){e??=Q,e!==this.#t&&(this.#t=e,this.#s?.changeToken(this,e))}get parent(){return this.#i}set parent(e){if(e){if(e.#s!==this.#s)throw new Le("cannot set parent from different context");e.addChild(this)}else this.removeFromParent()}get context(){return this.#s}set context(e){this.#s!=e&&(this.#s&&this.destroy(),this.#s=e,e&&e.addComponent(this))}get order(){return this.#r}set order(e){let t=this.#r;this.#r=e??0,t!==this.#r&&this.#s.changeOrder(this)}constructor(e,t){k(this),t instanceof s&&(t={parent:t}),this.#e=t?.uuid??js(),this.#t=e,this.#r=t?.order??0,this.#i=t?.parent;let r=t?.context??D.get();if(this.#i&&this.#i.#s!==r)throw new Le("cannot set parent from different context");this.context=r}isChildOf(e){return this.#i===e}removeFromParent(){this.#i?(this.#s?.removeFromParent(this.uuid,this.#i),this.#i=void 0):this.#s?.moveToRoot(this.uuid)}addChild(e){if(e.#s!==this.#s)throw new Le("cannot add a child from another context");e.isChildOf(this)||(e.removeFromParent(),e.#i=this,this.#s.addToChildren(this,e))}setProperty(e,t,r){this.#s.setProperty(this,e,t,r)}removeProperty(e){this.#s.removeProperty(this,e)}dispatchShadowObjectsEvent(e,t,r){this.#s.dispatchShadowObjectsEvent(this,e,t,r)}dispatchEvent(e,t,r){if(g(this,e,t),r)for(let i of this.#s.getChildren(this))i.dispatchEvent(e,t,r)}destroy(){this.removeFromParent(),this.#s?.destroyComponent(this),this.#s=void 0}};var nt="shaeRequestEntParent",ot="shaeReRequestEntParent",Ds="shae-worker",at="shae-ent",_s="shae-prop",re="token",z="forward-custom-events";var ht="local",Ns="no-autostart",lt="no-structured-clone",W="auto-sync";var ut="name",ct="value",dt="type",ft="no-trim";var je=new Set(["on","true","yes","local","1"]);var $s=s=>fe(s.getAttribute("ns")),_e=(s,e)=>{if(s.hasAttribute(e)){let t=s.getAttribute(e)?.trim()?.toLowerCase()||"1";return je.has(t)}return!1};var Ws=(s,e)=>{e.set($s(s))},Gt=new Set,Bt=!1,br=s=>{Gt.add(s),Bt||(Bt=!0,queueMicrotask(()=>{Bt=!1;for(let e of Gt)V.get(e)?.sync();Gt.clear()}))},ie=class extends HTMLElement{static{this.observedAttributes=["ns"]}get ns(){return this.ns$.value}set ns(e){typeof e=="symbol"?this.ns$.set(e):this.ns$.set(fe(e))}constructor(){super(),this.isShaeElement=!0,this.ns$=p(de),this.ns$.onChange(e=>{typeof e=="string"&&e.length>0?this.getAttribute("ns")!==e&&this.setAttribute("ns",e):this.removeAttribute("ns")}),Ws(this,this.ns$)}attributeChangedCallback(e){e==="ns"&&Ws(this,this.ns$)}syncShadowObjects(){br(this.ns)}};var pt=class extends ie{static{this.observedAttributes=[...ie.observedAttributes,re,z]}get componentContext(){return this.componentContext$.value}get viewComponent(){return this.viewComponent$.value}get uuid(){return this.viewComponent?.uuid}get token(){return this.token$.value}set token(e){this.token$.set(e)}#e;constructor(){super(),this.isShaeEntElement=!0,this.componentContext$=p(),this.viewComponent$=p(),this.token$=p(),this.forwardCustomEvents$=p(!1),this.#n=!0,this.#d=()=>{let e=this.findShadowRootHost();e!=null&&this.dispatchEvent(new CustomEvent(ot,{bubbles:!0,composed:!0,detail:{requester:this,shadowRootHost:e}}))},this.#f=e=>{let t=e.detail?.requester;if(t===this||!t?.isShaeEntElement||t.ns!==this.ns)return;e.detail?.shadowRootHost&&this.#l()},this.#g=e=>{let t=e.detail?.requester;t!==this&&t?.isShaeEntElement&&t.ns===this.ns&&(e.stopPropagation(),t.#c(this))},this.ns$.onChange(e=>{this.componentContext$.set(D.get(e)),this.isConnected&&this.#l()}),this.#p(),this.token$.onChange(e=>{e==null?this.removeAttribute(re):this.getAttribute(re)!==e&&this.setAttribute(re,e)}),this.#y(),this.forwardCustomEvents$.onChange(e=>{if(!e)this.removeAttribute(z);else if(e===!0)this.hasAttribute(z)||this.setAttribute(z,"");else{let t=Array.from(e).join(",");this.getAttribute(z)!==t&&this.setAttribute(z,t)}}),w(()=>{let e=this.viewComponent$.get();if(e){let t=m(e,D.ReRequestParentRoots,()=>this.#h()),r=e.context?.ns;return()=>{t(),e.destroy(),r&&r!==this.ns?V.get(r)?.sync():this.syncShadowObjects()}}}),w(()=>{let e=this.viewComponent$.get();if(!e)return;let t=Object.hasOwn(e,"dispatchEvent")?Object.getPrototypeOf(e).dispatchEvent:e.dispatchEvent,r=this.forwardCustomEvents$.get();if(!r)return;let i=r instanceof Set?r:void 0,n=(o,l,a)=>{t.call(e,o,l,a),o!==D.ReRequestParentRoots&&(i&&!i.has(o)||this.dispatchEvent(new CustomEvent(o,{bubbles:!0,composed:!0,detail:l})))};return Object.defineProperty(e,"dispatchEvent",{value:n,writable:!0,configurable:!0}),()=>{Object.hasOwn(e,"dispatchEvent")&&e.dispatchEvent===n&&delete e.dispatchEvent}}),this.token$.onChange(e=>{let t=this.viewComponent$.value;t&&(t.token=e,this.syncShadowObjects())}),this.style.display="contents"}#t;#s(){this.#t?.();let e=this.componentContext$.onChange(t=>{let r=this.token$.value,i=this.viewComponent$.value;i?i.context=t:t&&(i=new it(r,{context:t}),this.viewComponent$.set(i)),this.syncShadowObjects()});this.#t=()=>{e()}}#i(){this.#t?.(),this.#t=void 0}#r;#n;findShadowRootHost(){if(this.#n){this.#n=!1;let e=this;for(;e;){if(e.parentElement==null){let t=e.parentNode;t&&(this.#r=t.host);break}e=e.parentElement}}return this.#r}getParentNodeForObserver(){let e=this.parentNode;return e||(e.host??e)}connectedCallback(){this.#n=!0,this.addEventListener("slotchange",this.#d,{capture:!1,passive:!1}),this.addEventListener(nt,this.#g,{capture:!1,passive:!1}),this.#s(),Ge(()=>this.#p()),Ge(()=>this.#y()),this.componentContext==null&&this.componentContext$.set(D.get(this.ns)),this.#l(),this.componentContext?.dispatchReRequestParentRoots(),this.#o(),this.syncShadowObjects()}#o(){this.#a();let e=this.getParentNodeForObserver();e&&(this.#e=new MutationObserver((t,r)=>{for(let{target:i,removedNodes:n}of t)if(i===e){for(let o of n)if(o===this){this.#a(),this.onParentChanged(this.getParentNodeForObserver(),e);break}}}),this.#e.observe(e,{childList:!0,subtree:!1,attributes:!1}))}onParentChanged(e,t){this.#c(void 0),this.#l()}#a(){this.#e?.disconnect(),this.#e=void 0}attributeChangedCallback(e){super.attributeChangedCallback(e),e===re?this.#p():e===z&&this.#y()}disconnectedCallback(){this.#n=!0,this.#a(),this.removeEventListener("slotchange",this.#d,{capture:!1}),this.removeEventListener(nt,this.#g,{capture:!1}),this.#c(void 0),this.componentContext$.set(void 0),this.syncShadowObjects(),this.#i()}#h(){this.isConnected&&(this.#c(void 0),this.#l())}#l(){this.dispatchEvent(new CustomEvent(nt,{bubbles:!0,composed:!0,detail:{requester:this}}))}#u;#c(e){if(this.entParentNode!==e)if(this.entParentNode&&this.entParentNode.removeEventListener(ot,this.#f,{capture:!1}),this.entParentNode=e,this.entParentNode&&this.entParentNode.addEventListener(ot,this.#f,{capture:!1,passive:!1}),this.#u?.(),this.#u=void 0,e){let t=w(()=>{let r=this.viewComponent$.get();if(r){let i=e.viewComponent$.get();r.parent=i&&i.context===r.context?i:void 0,r.parent==null&&queueMicrotask(()=>{this.#l()}),this.syncShadowObjects()}});this.#u=()=>t.destroy()}else{let t=this.viewComponent;t.parent&&(t.parent=void 0,this.syncShadowObjects())}}#d;#f;#g;#p(){if(this.hasAttribute(re)){let e=this.getAttribute(re)?.trim()||void 0;this.token$.set(e)}}#y(){if(this.hasAttribute(z)){let e=this.getAttribute(z);!e||e.trim().length===0?this.forwardCustomEvents$.set(!0):this.forwardCustomEvents$.set(new Set(e.split(",").map(t=>t.trim()).filter(t=>t.length>0)))}else this.forwardCustomEvents$.set(!1)}};customElements.define(at,pt);var vr=s=>{let e=s.parentElement;for(;e;){if(e.isShaeEntElement)return e;e=e.parentElement}},wr=new Set(["string","text","number","bigint","float","int","integer","hex","hexadecimal","oct","octal","bin","binary","bool","boolean","[]","text[]","string[]","number[]","float[]","int[]","integer[]","hex[]","hexadecimal[]","oct[]","octal[]","bin[]","binary[]","bool[]","boolean[]","int8array","uint8array","uint8clampedarray","int16array","uint16array","int32array","uint32array","float32array","float64array","bigint64array","biguint64array","json"]),gt=class extends HTMLElement{static{this.observedAttributes=[ut,ct,dt,ft]}get name(){return this.name$.value}get value(){return this.valueOut$.value}set value(e){this.valueIn$.set(e)}get shouldTrim(){return this.shouldTrim$.value}get entNode(){return this.entNode$.value}set entNode(e){this.entNode$.set(e)}get viewComponent(){return this.viewComponent$.value}constructor(){super(),this.isShaeEntElement=!0,this.entNode$=p(),this.viewComponent$=p(),this.name$=p(),this.valueIn$=p(),this.valueOut$=p(),this.type$=p(),this.shouldTrim$=p(!0),this.logger=new P("ShaePropElement"),this.#e=()=>{this.entNode$.set(vr(this))},this.#t=()=>{queueMicrotask(()=>{this.isConnected||this.entNode$.set(void 0)})},this.#s=()=>{this.name$.set(this.getAttribute(ut)?.trim()??void 0)},this.#i=()=>{this.valueIn$.set(this.getAttribute(ct))},this.#r=()=>{let e=this.getAttribute(dt)?.trim().toLowerCase();e&&!wr.has(e)&&(this.logger.isWarn&&this.logger.warn(`[${this.name}] unknown type "${e}"`,{shaeProp:this}),e=void 0),this.type$.set(e)},this.#n=()=>{this.shouldTrim$.set(!_e(this,ft))},this.entNode$.onChange(e=>{if(e){let t=M(e.viewComponent$,this.viewComponent$);return()=>{t.destroy()}}else this.viewComponent$.set(void 0)}),w(()=>{let e=this.viewComponent$.get();if(e){let t=this.name$.get();if(t){let r=this.valueOut$.get();this.logger.isDebug&&this.logger.debug(`[${this.name}] view-component set-property`,t,r,e.uuid,{viewComponent:e,shaeProp:this}),e.setProperty(t,r),this.isConnected&&this.entNode?.syncShadowObjects()}}}),w(()=>{let e=this.type$.get(),t=this.shouldTrim$.get(),r=this.valueIn$.get();if(t&&typeof r=="string"&&(r=r.trim()),r=r||void 0,r!=null&&typeof r=="string"&&e)switch(e){case"string":case"text":break;case"number":r=Number(r);break;case"bigint":r=BigInt(r);break;case"float":r=parseFloat(r);break;case"int":case"integer":r=parseInt(r,10);break;case"hex":case"hexadecimal":r=parseInt(r,16);break;case"oct":case"octal":r=parseInt(r,8);break;case"bin":case"binary":r=parseInt(r,2);break;case"bool":case"boolean":r=je.has(r.toLowerCase());break;case"[]":case"text[]":case"string[]":r=r.split(/\W+/);break;case"number[]":r=r.split(/\s+/).map(i=>Number(i));break;case"float[]":r=r.split(/\s+/).map(i=>parseFloat(i));break;case"int[]":case"integer[]":r=r.split(/\s+/).map(i=>parseInt(i));break;case"hex[]":case"hexadecimal[]":r=r.split(/\W+/).map(i=>parseInt(i,16));break;case"oct[]":case"octal[]":r=r.split(/\W+/).map(i=>parseInt(i,8));break;case"bin[]":case"binary[]":r=r.split(/\W+/).map(i=>parseInt(i,2));break;case"bool[]":case"boolean[]":r=r.split(/\W+/).map(i=>je.has(i.toLowerCase()));break;case"int8array":r=new Int8Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint8array":r=new Uint8Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint8clampedarray":r=new Uint8ClampedArray(r.split(/\W+/).map(i=>Number(i)));break;case"int16array":r=new Int16Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint16array":r=new Uint16Array(r.split(/\W+/).map(i=>Number(i)));break;case"int32array":r=new Int32Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint32array":r=new Uint32Array(r.split(/\W+/).map(i=>Number(i)));break;case"float32array":r=new Float32Array(r.split(/\s+/).map(i=>Number(i)));break;case"float64array":r=new Float64Array(r.split(/\s+/).map(i=>Number(i)));break;case"bigint64array":r=new BigInt64Array(r.split(/\W+/).map(i=>BigInt(i)));break;case"biguint64array":r=new BigUint64Array(r.split(/\W+/).map(i=>BigInt(i)));break;case"json":r=JSON.parse(r);break;default:this.logger.isWarn&&this.logger.warn(`[${this.name}] unknown type "${e}"`,{value:r,shaeProp:this})}this.valueOut$.set(r)}),O(()=>{this.#s(),this.#i(),this.#r(),this.#n()}),this.style.display="contents"}connectedCallback(){O(()=>{this.#e(),this.#s(),this.#i(),this.#r(),this.#n()})}attributeChangedCallback(e){switch(e){case ut:this.#s();break;case ct:this.#i();break;case dt:this.#r();break;case ft:this.#n();break}}disconnectedCallback(){this.#t()}#e;#t;#s;#i;#r;#n};customElements.whenDefined(at).then(()=>customElements.define(_s,gt));var yt,qt=null,ve=class{static{this.OnFrame=Symbol("onFrame")}#e=0;#t=0;constructor(){if(qt)return qt;k(this),qt=this}start(e){if(e!=null)return Mt(this)===0&&this.#i(),m(this,yt.OnFrame,e),this.#t++,()=>{this.stop(e)}}stop(e){x(this,yt.OnFrame,e),Mt(this)===0&&this.#r()}#s=e=>{g(this,yt.OnFrame,e),this.#i()};#i(){this.#e=requestAnimationFrame(this.#s)}#r(){cancelAnimationFrame(this.#e),this.#e=0}};yt=ve;var mt=s=>s??void 0;var we="value",Ne=(()=>{let s,e=[],t=[];return class{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;s=[Pe({name:we})],Oe(this,null,s,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:n=>"value"in n,get:n=>n.value,set:(n,o)=>{n.value=o}},metadata:i},e,t),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static{this.Value=we}#e;#t;#s;get value(){return this.#s}set value(i){this.#s=i}constructor(i){this.#e=[],this.#s=se(this,e,void 0),this.value$=se(this,t),B(this,we),this.value$=R(this,we),this.value$.onChange(n=>g(this,we,n)),i&&this.add(...i)}add(...i){return this.#e.push(...i),this.#r(),this.#i(i)}unshift(...i){return this.#e.unshift(...i),this.#r(),this.#i(i)}remove(...i){this.#i(i)()}clear(){this.#e.length=0,this.#r()}dispose(){this.clear(),this.#t?.destroy(),this.#t=void 0,X(this,we),x(this),this.value$.destroy(),ke(this)}#i(i){return()=>{for(let n of i){let o=this.#e.indexOf(n);o!==-1&&this.#e.splice(o,1)}this.#r()}}#r(){this.#t?.destroy(),this.#e.length===0?(this.#t=void 0,this.value=void 0):(this.#t=w(()=>{let i;for(let n of this.#e){let o=ce(n);if(o!=null){i=o;break}}this.value=i},this.#e),this.#t.run())}}})();var Ht=Symbol("onCreate"),K=Symbol("onDestroy"),Is=Symbol("onParentChanged"),bt=Symbol("onViewEvent");var Qt=new Map,Yt=!1,Cr=(s,e)=>{Qt.set(s,e),Yt||(Yt=!0,queueMicrotask(()=>{Yt=!1;let t=Array.from(Qt.entries());Qt.clear();for(let[r,i]of t)r.set(i)}))},vt=class{#e;#t;#s=new tt;#i=new Map;#r=new Map;#n;#o;#a=new Set;#h=[];#l=0;get kernel(){return this.#e}get uuid(){return this.#t}get order(){return this.#l}set order(e){this.#l!==e&&(this.#l=e,this.#n&&this.parent.resortChildren())}get parentUuid(){return this.#n||void 0}set parentUuid(e){this.#n!==e&&(this.removeFromParent(),this.#n=e||void 0,this.#o=e?this.#e.getEntity(e):void 0,this.#o&&this.#o.addChild(this))}get parent(){return!this.#o&&this.#n&&(this.#o=this.#e.getEntity(this.#n)),this.#o}set parent(e){this.parentUuid=e?.uuid}get hasParent(){return!!this.#n}get children(){return this.#h}constructor(e,t){this.#e=e,this.#t=t,E(this,K,G.Min,this)}traverse(e){e(this);for(let t of this.#h)t.traverse(e)}[K](){this.#s.clear(),x(this);for(let e of this.#r.values())e.cleanup(),e.signal.destroy();this.#r.clear();for(let e of this.#i.values())e.context.set(void 0),e.unsubscribePathValue(),e.unsubscribeFromParent?.(),e.valuePath.dispose(),e.inherited.destroy(),e.provide.destroy(),e.context.destroy();this.#n=void 0,this.#o=void 0,this.#a.clear(),this.#h.length=0}addChild(e){if(this.#h.length===0){this.#a.add(e.uuid),this.#h.push(e);return}if(this.#a.has(e.uuid))throw new Error(`child with uuid: ${e.uuid} already exists! parentUuid: ${this.uuid}`);this.#a.add(e.uuid),this.#h.push(e),this.resortChildren();for(let[,t]of e.#i)e.#f(t)}resortChildren(){this.#h.sort((e,t)=>e.order-t.order)}removeChild(e){this.#a.has(e.uuid)&&(this.#a.delete(e.uuid),this.#h.splice(this.#h.indexOf(e),1))}removeFromParent(){if(this.#o){this.#o.removeChild(this),this.#o=void 0,this.#n=void 0;for(let[,e]of this.#i)e.unsubscribeFromParent&&(e.unsubscribeFromParent(),e.unsubscribeFromParent=void 0)}}reSubscribeToParentContexts(){for(let[,e]of this.#i)this.#f(e)}dispatchMessageToView(e,t,r,i=!1){this.#e.dispatchMessageToView({uuid:this.#t,type:e,data:t,transferables:r,traverseChildren:i})}dispatchViewEvents(e){for(let{type:t,data:r}of e)g(this,bt,t,r)}dispatchViewEvent(e,t){this.dispatchViewEvents([{type:e,data:t}])}#u(e){return this.#s.get(e)}getPropertyReader(e){return this.#u(e).get}getPropertyWriter(e){return this.#u(e).set}setProperties(e){this.clearTruthyPropsCache(),O(()=>{for(let[t,r]of e)this.setProperty(t,r)})}setProperty(e,t){this.getPropertyWriter(e)(t)}getProperty(e){return ce(this.getPropertyReader(e))}propKeys(){return Array.from(this.#s.keys())}propEntries(){return Array.from(this.#s.entries()).map(([e,t])=>[e,t.value])}#c;clearTruthyPropsCache(){this.#c=void 0}truthyProps(){if(this.#c)return this.#c.size?this.#c:void 0;let e=new Set;for(let[t,r]of this.#s.entries())if(typeof t=="string"){let i=r.value;i!=null&&i!==!1&&i!==""&&e.add(t)}return this.#c=e,e.size?e:void 0}hasContext(e){return this.#i.has(e)}useContext(e){return this.#d(e).context.get}useParentContext(e){return this.#d(e).inherited.get}provideContext(e){return this.#d(e).provide}provideGlobalContext(e){if(this.#r.has(e))return this.#r.get(e).signal;let t=this.#e.findOrCreateRootContext(e),r=p(),i=t.add(r);return this.#r.set(e,{cleanup:i,signal:r}),r}#d(e){if(this.#i.has(e))return this.#i.get(e);let t=p(),r=p(),i=p(),n=new Ne([r,t]),o=m(n,Ne.Value,a=>{Cr(i,a)}),l={name:e,inherited:t,provide:r,context:i,valuePath:n,unsubscribePathValue:o};return this.#i.set(e,l),this.#f(l),l}#f(e){if(e.unsubscribeFromParent?.(),e.unsubscribeFromParent=void 0,this.parent){let t=this.parent.#d(e.name),r=M(t.context,e.inherited);e.unsubscribeFromParent=r.destroy.bind(r)}else{let t=this.#e.findOrCreateRootContext(e.name),r=M(t.value$,e.inherited);e.unsubscribeFromParent=r.destroy.bind(r)}}};var Fs=s=>{let e=s.split("@").map(t=>t.trim());if(e.length===2&&e[1])return e[0]?{key:`${e[0]}@${e[1]}`,prop:e[1],token:e[0]}:{key:e[1],prop:e[1]}},wt=(s,e)=>{for(let t of e)s.add(t)},Er=(s,e)=>{if(s!=null)for(let t of s.constructors)e.add(t)},$e=class{static get(e){return e??Sr}#e=new Map;#t=new Map;#s=new Map;define(e,t){this.#e.has(e)?Ps(this.#e.get(e).constructors,t):this.#e.set(e,{token:e,constructors:[t]})}appendRoute(e,t){let r=Fs(e);r?this.#s.has(r.key)?wt(this.#s.get(r.key).routes,t):this.#s.set(r.key,{routes:new Set(t),token:r.token}):this.#t.has(e)?wt(this.#t.get(e),t):this.#t.set(e,new Set(t))}clearRoute(e){let t=Fs(e);t?this.#s.delete(t.key):this.#t.delete(e)}findTokensByRoute(e,t){let r=new Set([e]),i=this.#t.has(e)?[...this.#t.get(e)]:[];for(;i.length;){let n=i.shift();r.has(n)||(r.add(n),this.#t.has(n)&&i.push(...Array.from(this.#t.get(n)).filter(o=>!r.has(o))))}if(t){for(let o of t)this.#s.has(o)&&wt(r,this.#s.get(o).routes);let n;do{n=r.size;for(let o of new Set(r))for(let l of t){let a=`${o}@${l}`;this.#s.has(a)&&wt(r,this.#s.get(a).routes)}}while(n!==r.size)}return r}findConstructors(e,t){let r=this.findTokensByRoute(e,t),i=new Set;for(let n of r)Er(this.#e.get(n),i);return i.size>0?Array.from(i):void 0}hasToken(e){return this.#e.has(e)}hasRoute(e){return this.#t.has(e)}clear(){this.#e.clear(),this.#t.clear()}},Sr=new $e;var J;(function(s){s[s.CreateAndDestroy=0]="CreateAndDestroy",s[s.JustCreate=1]="JustCreate",s[s.DestroyOnly=2]="DestroyOnly"})(J||(J={}));var Vs=s=>s.displayName||s.name,zs=!1,Us=!1,Gs=!1,Bs=!1,qs=!1,Ct=class{#e;#t;#s;#i;#r;#n;constructor(e){this.logger=new P("Kernel"),this.#e=new Map,this.#t=new Set,this.#r=!0,this.#n=new Map,k(this),this.registry=$e.get(e)}getEntity(e){let t=this.#e.get(e)?.entity;if(!t)throw new Error(`entity with uuid "${e}" not found!`);return t}hasEntity(e){return this.#e.has(e)}traverseLevelOrderBFS(e=!1){if(this.#r){let t=new Map,r=(i,n)=>{let o=this.getEntity(i);t.has(n)?t.get(n).push(o):t.set(n,[o]);for(let l of o.children)r(l.uuid,n+1)};this.#t.forEach(i=>{r(i,0)}),this.#s=Array.from(t.entries()).sort((i,n)=>i[0]-n[0]).flatMap(([,i])=>i),this.#i=this.#s.slice().reverse(),this.#r=!1}return e?this.#i:this.#s}getEntityGraph(){return Array.from(this.#t).map(e=>this.getEntityGraphNode(e))}getEntityGraphNode(e){if(!this.#e.has(e))return;let{token:t,entity:r}=this.#e.get(e);return{token:t,entity:r,props:Object.fromEntries(r.propEntries()),children:r.children.map(i=>this.getEntityGraphNode(i.uuid))}}upgradeEntities(){let e=new Map;for(let t of this.traverseLevelOrderBFS(!0))e.set(t.uuid,this.updateShadowObjects(t.uuid,J.DestroyOnly));for(let t of this.traverseLevelOrderBFS(!1))this.updateShadowObjects(t.uuid,J.JustCreate,e.get(t.uuid));e.clear()}run(e){this.logger.isDebug&&this.logger.debug("sync",e),O(()=>{for(let t of e.changeTrail)this.parse(t)})}parse(e){switch(e.type){case b.CreateEntities:this.createEntity(e.uuid,e.token,e.parentUuid,e.order,e.properties),this.#r=!0;break;case b.DestroyEntities:this.destroyEntity(e.uuid),this.#r=!0;break;case b.SetParent:this.setParent(e.uuid,e.parentUuid,e.order),this.#r=!0;break;case b.UpdateOrder:this.updateOrder(e.uuid,e.order),this.#r=!0;break;case b.ChangeProperties:this.changeProperties(e.uuid,e.properties);break;case b.ChangeToken:this.changeToken(e.uuid,e.token);break;case b.SendEvents:this.dispatchEventsToEntity(e.uuid,e.events);break}}createEntity(e,t,r,i=0,n){let o=new vt(this,e);o.order=i;let l={token:t,entity:o,usedConstructors:new Map};this.#e.set(e,l),r&&(o.parentUuid=r),o.hasParent||this.#t.add(e),n&&o.setProperties(n),this.createShadowObjects(e)}destroyEntity(e){if(!this.#e.has(e))return;let{entity:t,usedConstructors:r}=this.#e.get(e);t.removeFromParent(),g(t,K,t),r.clear(),this.#e.delete(t.uuid),this.#t.delete(t.uuid)}setParent(e,t,r=0){let i=this.getEntity(e);i.parentUuid===t&&i.order===r||(i.removeFromParent(),i.order=r,i.parentUuid=t,i.hasParent?this.#t.delete(e):this.#t.add(e),i.reSubscribeToParentContexts(),queueMicrotask(()=>{this.logger.isDebug&&this.logger.debug("entity.onParentChanged",{uuid:e,parentUuid:t,order:r,entity:i}),g(i,Is,i)}))}updateOrder(e,t){this.getEntity(e).order=t}dispatchEventsToEntity(e,t){this.getEntity(e)?.dispatchViewEvents(t)}changeProperties(e,t){this.getEntity(e).setProperties(t),this.updateShadowObjects(e)}changeToken(e,t){if(!this.#e.has(e))return;let r=this.#e.get(e);r.token!==t&&(r.token=t,this.updateShadowObjects(e))}dispatchMessageToView(e){queueMicrotask(()=>{g(this,be,e)})}updateShadowObjects(e,t=J.CreateAndDestroy,r){let i=this.#e.get(e);r??=new Set(this.registry.findConstructors(i.token,i.entity.truthyProps()));let n=t===J.CreateAndDestroy||t===J.DestroyOnly,o=t===J.CreateAndDestroy||t===J.JustCreate;if(n){for(let[l,a]of i.usedConstructors)if(!r.has(l)){i.usedConstructors.delete(l);for(let f of a)this.destroyShadowObject(f,i.entity)}}if(o)for(let l of r)i.usedConstructors.has(l)||this.constructShadowObject(l,i);return r}constructShadowObject(e,t){let r=new Set,i=new Set,n=new Map,o=new Map,l=new Map,a=new Map,f=new Map,C=(u,h)=>{!qs&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useProperty()" is now passed as {compare} argument. Please update your code accordingly.'),qs=!0);let d=typeof h=="function"?{compare:h}:h,c=f.get(u);if(c===void 0){c=p(void 0,d).get,f.set(u,c);let y=M(t.entity.getPropertyReader(u),c);i.add(y.destroy.bind(y))}return c},v=k(new e({entity:t.entity,provideContext(u,h,d){!zs&&d!=null&&typeof d=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideContext()" is now passed as {compare} argument. Please update your code accordingly.'),zs=!0);let c=typeof d=="function"?{compare:d}:d,y=l.get(u);if(y==null){let $=H(h),kt=$?void 0:mt(h);if(y=p(kt,c?.compare?{compare:c.compare}:void 0),$){let Ee=M(h,y);i.add(Ee.destroy.bind(Ee))}let Ce=M(y,t.entity.provideContext(u));i.add(Ce.destroy.bind(Ce)),l.set(u,y)}return y!=null&&(c?.clearOnDestroy??!0)&&i.add(()=>{y.set(void 0)}),y},provideGlobalContext(u,h,d){!Us&&d!=null&&typeof d=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideGlobalContext()" is now passed as {compare} argument. Please update your code accordingly.'),Us=!0);let c=typeof d=="function"?{compare:d}:d,y=a.get(u);if(y==null){let $=H(h),kt=$?void 0:mt(h);if(y=p(kt,c?.compare?{compare:c.compare}:void 0),$){let Ee=M(h,y);i.add(Ee.destroy.bind(Ee))}let Ce=M(y,t.entity.provideGlobalContext(u));i.add(Ce.destroy.bind(Ce)),a.set(u,y)}return y!=null&&(c?.clearOnDestroy??!0)&&i.add(()=>{y.set(void 0)}),y},useContext(u,h){!Gs&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useContext()" is now passed as {compare} argument. Please update your code accordingly.'),Gs=!0);let d=typeof h=="function"?{compare:h}:h,c=n.get(u);if(c===void 0){c=p(void 0,d).get,n.set(u,c);let y=M(t.entity.useContext(u),c);i.add(y.destroy.bind(y))}return c},useParentContext(u,h){!Bs&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useParentContext()" is now passed as {compare} argument. Please update your code accordingly.'),Bs=!0);let d=typeof h=="function"?{compare:h}:h,c=o.get(u);if(c===void 0){c=p(void 0,d).get,o.set(u,c);let y=M(t.entity.useParentContext(u),c);i.add(y.destroy.bind(y))}return c},dispatchMessageToView(u,h,d,c=!1){t.entity.dispatchMessageToView(u,h,d,c)},useProperty:C,useProperties(u){let h={};for(let d in u)Object.hasOwn(u,d)&&(h[d]=C(u[d]));return h},createResource(u,h){let d=p(),c=w(()=>{let y=mt(u());return d.set(y),y!==void 0&&h?()=>{h(y),d.set(void 0)}:()=>{d.set(void 0)}});return i.add(()=>{c.destroy(),d.set(void 0),A(d)}),d},createEffect(...u){let h=w(...u);return i.add(h.destroy),h},createSignal(...u){let h=p(...u);return i.add(()=>{A(h)}),h},createMemo(...u){let h=Wt(...u);return i.add(()=>{A(h)}),h},on(...u){let[h]=u;if(typeof h=="string"||typeof h=="symbol"||Array.isArray(h)){let c=m(t.entity,...u);return i.add(c),c}let d=m(...u);return i.add(d),d},once(...u){let[h]=u;if(typeof h=="string"||typeof h=="symbol"||Array.isArray(h)){let c=E(t.entity,...u);return i.add(c),c}let d=E(...u);return i.add(d),d},onViewEvent(u){let h=m(t.entity,bt,(d,c)=>{u(d,c)});i.add(h)},onDestroy(u){r.add(u)}}));return this.logger.isInfo&&this.logger.info("create shadow-object",Vs(e),{shadowObject:v,entity:t.entity}),E(t.entity,K,G.Low,()=>{this.logger.isInfo&&this.logger.info("destroy shadow-object",Vs(e),{shadowObject:v,entity:t.entity});for(let h of r)h();for(let h of i)h();for(let h of n.values())A(h);for(let h of o.values())A(h);for(let h of f.values())A(h);for(let h of l.values())A(h);for(let h of a.values())A(h);r.clear(),i.clear(),n.clear(),o.clear(),f.clear(),l.clear(),a.clear();let u=t.usedConstructors.get(e);u&&(u.delete(v),u.size===0&&t.usedConstructors.delete(e))}),t.usedConstructors.has(e)?t.usedConstructors.get(e).add(v):t.usedConstructors.set(e,new Set([v])),this.attachShadowObject(v,t.entity),v}createShadowObjects(e){let t=this.#e.get(e);this.registry.findConstructors(t.token,t.entity.truthyProps())?.forEach(r=>{this.constructShadowObject(r,t)})}findShadowObjects(e){if(!this.#e.has(e))return[];let{usedConstructors:t}=this.#e.get(e);return Array.from(new Set(Array.from(t.values()).flatMap(r=>Array.from(r))))}attachShadowObject(e,t){m(t,e),typeof e[Ht]=="function"&&e[Ht](t)}destroyShadowObject(e,t){typeof e[K]=="function"&&e[K](t),g(e,K,t),x(t,e)}findOrCreateRootContext(e){let t=this.#n.get(e);return t||(t=new Ne,this.#n.set(e,t)),t}destroy(){for(let e of this.#n.values())e.dispose();this.#n.clear();for(let e of this.traverseLevelOrderBFS().reverse())this.destroyEntity(e.uuid)}};async function Kt(s,e,t,r=!0){if(t.has(e)){console.warn("importModule: skipping already imported module",e);return}else t.add(e);e.extends&&await Promise.all(e.extends.map(n=>Kt(s,n,t,!1)));let{registry:i}=s;if(e.define)for(let[n,o]of Object.entries(e.define))i.define(n,o);if(e.routes)for(let[n,o]of Object.entries(e.routes))i.appendRoute(n,o);await(e.initialize?.({define:(n,o)=>i.define(n,o),kernel:s,registry:i})??Promise.resolve()),r&&s.upgradeEntities()}var Et=s=>(typeof s=="string"&&(s=new URL(s,globalThis.location.href)),s.toString());function Hs(s){return s.map(e=>{if(e.transferables&&e.transferables.length>0){let{transferables:t,...r}=e;return structuredClone(r,{transfer:t})}else return structuredClone(e)})}var St=class{#e;get registry(){return this.kernel.registry}constructor(e){this.#e=new Set,this.isLocalEnv=!0,this.disableStructuredClone=!1,this.kernel=new Ct(e),m(this.kernel,be,t=>{if(this.onMessageToView!=null){let{type:r,uuid:i,traverseChildren:n}=t,o=structuredClone(t.data,{transfer:t.transferables});this.onMessageToView({type:r,uuid:i,data:o,traverseChildren:n})}})}start(){return Promise.resolve()}applyChangeTrail(e,t){let r={changeTrail:this.disableStructuredClone?e:Hs(e)},i;try{this.kernel.run(r),i=Promise.resolve()}catch(n){i=Promise.reject(n)}return i}async importScript(e){let t=await import(Et(e));t[It]&&await this.importModule(t[It])}async importModule(e){return Kt(this.kernel,e,this.#e)}destroy(){this.kernel.destroy(),this.registry.clear(),this.#e.clear()}};function Jt(s){let e=new Blob([s],{type:"text/javascript"}),t=URL.createObjectURL(e),r=new Worker(t);return URL.revokeObjectURL(t),r}function Xt(){return Jt('var Ys=Object.defineProperty;var oe=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable;var Hs=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),qe=e=>{throw TypeError(e)};var me=(e,t,s)=>t in e?Ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,we=(e,t)=>{for(var s in t||(t={}))Be.call(t,s)&&me(e,s,t[s]);if(oe)for(var s of oe(t))We.call(t,s)&&me(e,s,t[s]);return e};var Je=(e,t)=>{var s={};for(var i in e)Be.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(e!=null&&oe)for(var i of oe(e))t.indexOf(i)<0&&We.call(e,i)&&(s[i]=e[i]);return s};var p=(e,t,s)=>me(e,typeof t!="symbol"?t+"":t,s),Ce=(e,t,s)=>t.has(e)||qe("Cannot "+s);var r=(e,t,s)=>(Ce(e,t,"read from private field"),s?s.call(e):t.get(e)),y=(e,t,s)=>t.has(e)?qe("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),f=(e,t,s,i)=>(Ce(e,t,"write to private field"),i?i.call(e,s):t.set(e,s),s),C=(e,t,s)=>(Ce(e,t,"access private method"),s);var Ke=(e,t,s,i)=>({set _(a){f(e,t,a,s)},get _(){return r(e,t,i)}});var Ee=function(e,t){this[0]=e,this[1]=t},Ye=(e,t,s)=>{var i=(n,d,g,m)=>{try{var w=s[n](d),h=(d=w.value)instanceof Ee,l=w.done;Promise.resolve(h?d[0]:d).then(u=>h?i(n==="return"?n:"next",d[1]?{done:u.done,value:u.value}:u,g,m):g({value:u,done:l})).catch(u=>i("throw",u,g,m))}catch(u){m(u)}},a=n=>o[n]=d=>new Promise((g,m)=>i(n,d,g,m)),o={};return s=s.apply(e,t),o[Hs("asyncIterator")]=()=>o,a("next"),a("throw"),a("return"),o};var He;(function(e){e[e.StructuralChanges=1]="StructuralChanges",e[e.ContentUpdates=2]="ContentUpdates",e[e.Removal=3]="Removal"})(He||(He={}));var tt;(function(e){e[e.CreateEntities=1]="CreateEntities",e[e.DestroyEntities=2]="DestroyEntities",e[e.SetParent=3]="SetParent",e[e.UpdateOrder=4]="UpdateOrder",e[e.ChangeProperties=5]="ChangeProperties",e[e.ChangeToken=6]="ChangeToken",e[e.SendEvents=7]="SendEvents"})(tt||(tt={}));var Qs="configure",Xs="changeTrail",Zs="destroy",_s="loaded",Qe="appliedChangeTrail",Se="importedModule",ti="destroyed",De="messageToView",ke="shadowObjects",N="ConsoleLogger",x=`${N}Storage`,gs,vs,bs,ei=!!((bs=(vs=(gs=globalThis.location)==null?void 0:gs.host)==null?void 0:vs.startsWith("localhost"))!=null&&bs),Qt="localStorage"in globalThis,he=Symbol.for(N),Xe=!1,Ze=e=>{if(typeof e=="boolean")return e;switch(e.toLowerCase()){case"true":case"yes":case"on":return!0;default:return!1}},Le=e=>[Qt?N:void 0,...Array.isArray(e)?e:[e]].filter(Boolean).join(".");function Ae(e,t=void 0,s){var o;let i=Le(e),a=Qt?localStorage.getItem(i):(o=globalThis[x])==null?void 0:o[i];return a!=null?t(a):s}function Ut(e,t){Qt?localStorage.setItem(Le(e),t):(globalThis[x]==null&&(globalThis[x]={},console.debug(`${N}: Initialize`,{[x]:globalThis[x]})),globalThis[x][Le(e)]=t)}var wt,Wt,v,si=(v=class{constructor(t){y(this,wt);this.enable=!0,this.namespace=(t||"").trim()||N,Xe||(v.loadConfig(),Xe=!0);let s=[this.namespace,"enable"];this.enable=Ae(s,Ze,this.enable),Ut(s,Qt?this.enable?"true":"false":this.enable)}static get isEnabled(){return v.sharedConfig.enable}static get isDebug(){return v.sharedConfig.enable&&v.sharedConfig.debug}static loadConfig(){var t,s,i;Qt?(["enable","debug","info","warn"].forEach(a=>{this.sharedConfig[a]=Ae(a,Ze,this.sharedConfig[a])}),["debug","info","warn","error"].forEach(a=>{this.sharedStyles[a]=Ae(["styles",a],void 0,this.sharedStyles[a])}),v.isDebug&&console.debug(`${N}: Load config from localStorage`,v.sharedConfig),(t=globalThis[N])!=null&&t[he]||((s=globalThis[N])!=null||(globalThis[N]={[he]:!0,get enable(){return v.sharedConfig.enable},set enable(a){v.sharedConfig.enable=a,Ut("enable",a?"true":"false")},get debug(){return v.sharedConfig.debug},set debug(a){v.sharedConfig.debug=a,Ut("debug",a?"true":"false")},get info(){return v.sharedConfig.info},set info(a){v.sharedConfig.info=a,Ut("info",a?"true":"false")},get warn(){return v.sharedConfig.warn},set warn(a){v.sharedConfig.warn=a,Ut("warn",a?"true":"false")}}))):(i=globalThis[x])!=null&&i[he]||(globalThis[x]=we(we({[he]:!0},v.sharedConfig),globalThis[x]),v.sharedConfig=globalThis[x],v.isDebug&&console.debug(`${N}: Load config from ${x}`,globalThis[x]))}get isEnabled(){return this.enable&&v.sharedConfig.enable}get isDebug(){return this.isEnabled&&v.sharedConfig.debug}get isInfo(){return this.isEnabled&&v.sharedConfig.info}get isWarn(){return this.isEnabled&&v.sharedConfig.warn}debug(...t){C(this,wt,Wt).call(this,"debug",v.sharedStyles.debug,t)}info(...t){C(this,wt,Wt).call(this,"info",v.sharedStyles.info,t)}warn(...t){C(this,wt,Wt).call(this,"warn",v.sharedStyles.warn,t)}error(...t){C(this,wt,Wt).call(this,"error",v.sharedStyles.error,t)}},wt=new WeakSet,Wt=function(t,s,i){console[t](`%c${this.namespace}`,s,...i)},v.sharedConfig={enable:ei,debug:!1,info:!0,warn:!0,"styles.debug":"color: #111; background: #999; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.info":"color: #020; background: #8a8; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.warn":"color: #fa0; background: #a98; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.error":"color: #ff0; background: #a00; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em"},v.sharedStyles={get debug(){return v.sharedConfig["styles.debug"]},set debug(t){v.sharedConfig["styles.debug"]=t},get info(){return v.sharedConfig["styles.info"]},set info(t){v.sharedConfig["styles.info"]=t},get warn(){return v.sharedConfig["styles.warn"]},set warn(t){v.sharedConfig["styles.warn"]=t},get error(){return v.sharedConfig["styles.error"]},set error(t){v.sharedConfig["styles.error"]=t}},v),Mt="*",Os=1,$e=2,Ie=4,vt=Symbol.for("eventize"),ii="[eventize]",pe=e=>e===Mt,Ms=e=>{switch(typeof e){case"string":case"symbol":return!0;default:return!1}},js=typeof console<"u",ri=js?console[console.warn?"warn":"log"].bind(console,ii):()=>{},ai=(e,t,s)=>(Object.defineProperty(e,t,{value:s,configurable:!0}),e),ni=0,Ts=class{constructor(){p(this,"events",new Map);p(this,"eventNames",new Set)}static publish(e){e.sort((t,s)=>t.order-s.order).forEach(t=>t.emit())}add(e){Array.isArray(e)?e.forEach(t=>this.eventNames.add(t)):this.eventNames.add(e)}remove(e){Array.isArray(e)?e.forEach(t=>this.eventNames.delete(t)):this.eventNames.delete(e),this.clear(e)}clear(e){Array.isArray(e)?e.forEach(t=>this.events.delete(t)):this.events.delete(e)}retain(e,t){this.eventNames.has(e)&&this.events.set(e,{args:t,order:ni++})}isKnown(e){return this.eventNames.has(e)}emit(e,t,s=[]){if(pe(e))this.eventNames.forEach(i=>this.emit(i,t,s));else if(this.events.has(e)){let{order:i,args:a}=this.events.get(e);s.push({order:i,emit:()=>t.apply(e,a)})}return s}},Re=(e,t,s,i)=>{if(typeof t=="function"){let a=t.apply(e,s);a!=null&&(i==null||i(a))}},oi=(e,t,s,i)=>Re(t,t.emit,[e].concat(s),i),hi=e=>{switch(typeof e){case"function":return Os;case"string":case"symbol":return $e;case"object":return Ie}},li=0,di=()=>++li,Ds=class{constructor(e,t,s,i=null){p(this,"id");p(this,"eventName");p(this,"isCatchEmAll");p(this,"priority");p(this,"listener");p(this,"listenerObject");p(this,"listenerType");p(this,"callAfterApply");p(this,"isRemoved");p(this,"refCount");this.id=di(),this.eventName=e,this.isCatchEmAll=pe(e),this.listener=s,this.listenerObject=i,this.priority=t,this.listenerType=hi(s),this.callAfterApply=void 0,this.isRemoved=!1,this.refCount=1}isEqual(e,t=null){if(e===this)return!0;let s=typeof e;return s==="number"&&e===this.id?!0:t===null&&(s==="string"||s==="symbol")?e===Mt||e===this.eventName:this.listener===e&&this.listenerObject===t}apply(e,t,s){if(this.isRemoved)return;let{listener:i,listenerObject:a}=this;switch(this.listenerType){case Os:Re(a,i,t,s),this.callAfterApply&&this.callAfterApply();break;case $e:Re(a,a[i],t,s),this.callAfterApply&&this.callAfterApply();break;case Ie:{let o=i[e];if(this.isCatchEmAll||this.eventName===e){if(typeof o=="function"){let n=o.apply(i,t);n!=null&&(s==null||s(n))}else oi(e,i,t,s);this.callAfterApply&&this.callAfterApply()}break}}}},ui=(e,t)=>e.priority!==t.priority?t.priority-e.priority:e.id-t.id,_e=e=>e==null?void 0:e.slice(0),ts=(e,t)=>{let s=e.indexOf(t);s>-1&&e.splice(s,1)},ci=e=>e===Ie||e===$e,xe=(e,t,s)=>{let i=e.findIndex(a=>a.isEqual(t,s));i>-1&&(e[i].isRemoved=!0,e.splice(i,1))},le=(e,t,s)=>{let i=[];for(let a of e)(t==null&&a.listenerObject===s||a.eventName===t&&a.listener===s)&&i.push(a);for(let a of i)xe(e,a,void 0)},Pe=e=>{e&&(e.forEach(t=>{t.isRemoved=!0}),e.length=0)},fi=(e,t)=>e.listenerType===t.listenerType?e.priority===t.priority&&e.eventName===t.eventName&&e.listenerObject===t.listenerObject&&e.listener===t.listener:!1,pi=(e,t)=>{if(ci(e.listenerType))return t.find(s=>fi(e,s))},yi=(e,t)=>{let s=pi(e,t);return s?(s.refCount+=1,s):(t.push(e),t.sort(ui),e)},gi=class{constructor(){p(this,"namedListeners");p(this,"catchEmAllListeners");p(this,"getListenersForEventName",e=>{let t=this.namedListeners.get(e);return t||(t=[],this.namedListeners.set(e,t)),t});this.namedListeners=new Map,this.catchEmAllListeners=[]}add(e){return yi(e,e.isCatchEmAll?this.catchEmAllListeners:this.getListenersForEventName(e.eventName))}remove(e,t,s=!1){t==null&&Array.isArray(e)?e.forEach(i=>this.remove(i,null,s)):e==null||t==null&&pe(e)?this.removeAllListeners():t==null&&Ms(e)?Pe(this.namedListeners.get(e)):e instanceof Ds?e.isRemoved||(e.refCount-=1,e.refCount<1&&(e.isRemoved=!0,this.namedListeners.forEach(i=>ts(i,e)),ts(this.catchEmAllListeners,e))):s?pe(e)&&typeof e=="object"?le(this.catchEmAllListeners,Mt,e):this.namedListeners.forEach(i=>le(i,e,t)):(this.namedListeners.forEach(i=>{xe(i,e,t),typeof e=="object"&&le(i,void 0,e)}),xe(this.catchEmAllListeners,e,t),typeof e=="object"&&le(this.catchEmAllListeners,void 0,e))}removeAllListeners(){this.namedListeners.forEach(e=>Pe(e)),this.namedListeners.clear(),Pe(this.catchEmAllListeners)}forEach(e,t){let s=_e(this.catchEmAllListeners),i=_e(this.namedListeners.get(e));if(e===Mt||!i||i.length===0)s.forEach(t);else if(s.length===0)i.forEach(t);else{let a=i.length,o=s.length,n=0,d=0;for(;n<a||d<o;){if(n<a){let g=i[n];if(d>=o||g.priority>=s[d].priority){t(g),++n;continue}}d<o&&(t(s[d]),++d)}}}getSubscriptionCount(){let e=this.catchEmAllListeners.length;for(let t of this.namedListeners.values())e+=t.length;return e}},$t=e=>!!(e&&e[vt]);function Xt(e){if($t(e))return e;let t=new gi,s=new Ts;return ai(e,vt,{keeper:s,store:t}),e}var ve={Max:Number.POSITIVE_INFINITY,AAA:1e9,BB:1e6,C:1e3,Default:0,Low:-1e4,Min:Number.NEGATIVE_INFINITY},vi=(e,t,s,i,a,o,n)=>{let d=e.add(new Ds(s,i,a,o));return t.emit(s,d,n),d},bi=(e,t,s,i)=>{let a=s.length,o=typeof s[0],n,d,g,m;if(a>=2&&a<=3&&o==="number"?(n=Mt,[d,g,m]=s):a>=3&&a<=4&&typeof s[1]=="number"?[n,d,g,m]=s:(d=ve.Default,o==="string"||o==="symbol"||Array.isArray(s[0])?[n,g,m]=s:(n=Mt,[g,m]=s)),!g&&js)throw ri("called with insufficient arguments!",s),"subscribeTo() called with insufficient arguments!";let w=h=>l=>vi(e,t,l,h,g,m,i);return Array.isArray(n)?n.map(h=>Array.isArray(h)?w(h[1])(h[0]):w(d)(h)):w(d)(n)},Ls=(e,t,s)=>{let i=[],a=bi(e,t,s,i);return Ts.publish(i),a},es=e=>t=>{t.callAfterApply=()=>{e==null||e()}},Rs=(e,t)=>Object.assign(()=>$(e,t),Array.isArray(t)?{listeners:t}:{listener:t}),xs=(e,t,s,i)=>{let{store:a,keeper:o}=e[vt];Array.isArray(t)?t.forEach(n=>{a.forEach(n,d=>d.apply(n,s,i)),o.retain(n,s)}):t!==Mt&&(a.forEach(t,n=>{n.apply(t,s,i)}),o.retain(t,s))},V=(e,...t)=>{let s=Xt(e),{store:i,keeper:a}=s[vt];return Rs(s,Ls(i,a,t))},A=(e,...t)=>{let s=Xt(e),{store:i,keeper:a}=s[vt],o=Ls(i,a,t),n=Rs(s,o),d=!1,g=()=>{d||(n(),d=!0)};return Array.isArray(o)?o.forEach(es(g)):es(g)(o),g},mi=(e,t)=>new Promise(s=>{A(e,t,s)}),$=(e,t,s)=>{if(!$t(e))throw new Error("object is not eventized");let{store:i,keeper:a}=e[vt],o=typeof t,n=s!=null&&(o==="string"||o==="symbol");i.remove(t,s,n),Array.isArray(t)?a.remove(t.filter(d=>typeof d=="string")):Ms(t)&&a.remove(t)},E=(e,t,...s)=>{if(!$t(e))throw new Error("object is not eventized");xs(e,t,s)},wi=(e,t,...s)=>{if(!$t(e))throw new Error("object is not eventized");let i=[];return xs(e,t,s,a=>{i.push(a)}),i=i.map(a=>Array.isArray(a)?Promise.all(a):Promise.resolve(a)),i.length>0?Promise.all(i):Promise.resolve()},Ge=(e,t)=>{let s=Xt(e),{keeper:i}=s[vt];i.add(t)},ye=(e,t)=>{if(!$t(e))throw new Error("object is not eventized");let{keeper:s}=e[vt];s.clear(t)},ot=(()=>{let e=(t={})=>Xt(t);return e.inject=(t={})=>(t=Xt(t),Object.assign(t,{on:(...s)=>V(t,...s),once:(...s)=>A(t,...s),onceAsync:s=>mi(t,s),off:(s,i)=>$(t,s,i),emit:(s,...i)=>E(t,s,...i),emitAsync:(s,...i)=>wi(t,s,...i),retain:s=>Ge(t,s),retainClear:s=>ye(t,s)}),t),e.is=$t,e})(),_=Symbol.for("signal"),jt=Symbol.for("effect"),ss=Symbol.for("destroySignal"),is=Symbol.for("createEffect"),Ci=Symbol.for("destroyEffect"),Bt="value",rs="mute",as="unmute",Yt="destroy",Ht=Symbol.for("recall"),ge=ot(),Nt=ot(),bt=ot(),zs=ot(),Te,qt=(Te=class{constructor(){p(this,"delayedEffects",[])}batch(e,t){let s=this.delayedEffects.length;for(let i=0;i<s;i++){let[a,o]=this.delayedEffects[i];if(!(a>t))if(a===t){o.add(e);return}else{this.delayedEffects.splice(i,0,[t,new Set([e])]);return}}this.delayedEffects.push([t,new Set([e])])}flush(){this.run(),this.delayedEffects.length=0}run(){let e=new Set,t=[V(bt,(i,a)=>{a===Ht&&e.add(i)}),V(zs,i=>{e.add(i)})],s=this.delayedEffects.flatMap(([,i])=>Array.from(i));for(let i of s)e.has(i)||E(bt,i,i,Ht);t.forEach(i=>{i()})}},p(Te,"current"),Te),Ei=()=>qt.current;function Zt(e){let t=qt.current;t?t=void 0:t=qt.current=new qt;try{e()}finally{t&&(qt.current=void 0,t.run())}}var Si=0;function Fs(){return Si>0}var ms,ki=(ms=jt,class{constructor(e){p(this,ms);p(this,"run",()=>{var e;return(e=this[jt])==null?void 0:e.run()});p(this,"destroy",()=>{var e;(e=this[jt])==null||e.destroy(),this[jt]=void 0});this[jt]=e,A(e,$s.Destroy,()=>{this[jt]=void 0})}}),ht=new Map,K,Ct,U,it,Y,Et,St,B,kt,nt,ne=(nt=class{constructor(t){y(this,K,new Set);y(this,Ct,new Set);y(this,U,new Map);y(this,it,new WeakMap);y(this,Y,new Map);y(this,Et,new Set);y(this,St,new Set);y(this,B);y(this,kt);if(t!=null&&t instanceof nt)return t;if(t!=null||(t=this),ht.has(t))return ht.get(t);f(this,kt,t),ht.set(t,this),ot(this)}static get(t){if(t!=null)return t instanceof nt?t:ht.get(t)}static findOrCreate(t){if(t==null)throw new Error("Cannot create a group with a null object");return new nt(t)}static destroy(t){console.warn("SignalGroup.destroy(obj) is deprecated. Use SignalGroup.delete(obj) instead."),nt.delete(t)}static delete(t){var s;(s=ht.get(t))==null||s.clear()}static clear(){for(let t of ht.values())t.destroy();ht.clear()}attachGroup(t){if(t===this)throw new Error("Cannot attach a group to itself");return r(this,K).add(t),r(t,B)&&r(t,B)!==this&&r(r(t,B),K).delete(t),f(t,B,this),t}detachGroup(t){return t!==this&&r(this,K).has(t)&&(r(this,K).delete(t),f(t,B,void 0)),t}attachSignal(t){let s=P(t);if(s!=null&&s.destroyed)throw new Error("Cannot attach a destroyed signal to a group");return s&&r(this,Ct).add(s),t}attachSignalByName(t,s){if(s){this.attachSignal(s);let i=P(s);r(this,U).set(t,i),r(this,Y).has(t)?r(this,Y).get(t).push(i):r(this,Y).set(t,[i]),r(this,it).has(i)?r(this,it).get(i).add(t):r(this,it).set(i,new Set([t]))}else r(this,U).delete(t);return s}hasSignal(t){var s;return r(this,U).has(t)||!!((s=r(this,B))!=null&&s.hasSignal(t))}signal(t){var s,i,a;return(a=(s=r(this,U).get(t))==null?void 0:s.object)!=null?a:(i=r(this,B))==null?void 0:i.signal(t)}detachSignal(t){let s=P(t);if(s&&(r(this,Ct).delete(s),r(this,it).has(s))){let i=r(this,it).get(s);for(let a of i)if(r(this,Y).has(a)){let o=r(this,Y).get(a);o.splice(o.indexOf(s),1),o.length===0?(r(this,U).delete(a),r(this,Y).delete(a)):r(this,U).get(a)===s&&r(this,U).set(a,o.at(-1))}i.clear(),r(this,it).delete(s)}return t}attachEffect(t){return r(this,Et).add(t),t}runEffects(){for(let t of r(this,Et))t.run();for(let t of r(this,K))t.runEffects()}attachLink(t){if(t!=null&&t.isDestroyed)throw new Error("Cannot attach a destroyed link to a group");return t&&r(this,St).add(t),t}detachLink(t){return t&&r(this,St).delete(t),t}destroy(){console.warn("SignalGroup#destroy is deprecated. Use SignalGroup#clear instead."),this.clear()}clear(){var t;E(this,Yt,this),$(this);for(let s of r(this,K))s.destroy();for(let s of r(this,Et))s.destroy();for(let s of r(this,Ct))G(s);for(let s of r(this,St))s.destroy();r(this,K).clear(),r(this,Ct).clear(),r(this,U).clear(),r(this,Y).clear(),r(this,Et).clear(),r(this,St).clear(),(t=r(this,B))==null||t.detachGroup(this),r(this,kt)&&(ht.delete(r(this,kt)),f(this,kt,void 0))}},K=new WeakMap,Ct=new WeakMap,U=new WeakMap,it=new WeakMap,Y=new WeakMap,Et=new WeakMap,St=new WeakMap,B=new WeakMap,kt=new WeakMap,nt),se,ie,ws,Ns=(ws=class{constructor(e="id",t=1){y(this,se);y(this,ie);f(this,se,e),f(this,ie,t)}make(){return Symbol(`${r(this,se)}${Ke(this,ie)._++}`)}},se=new WeakMap,ie=new WeakMap,ws),ze=[],Vs=()=>ze.at(-1),Ai=(e,t)=>{ze.push(e);try{return t()}finally{ze.pop()}},Pi=e=>e!=null&&typeof e.then=="function",M,lt,H,At,dt,ut,Pt,Dt,$s=(M=class{constructor(t,s){p(this,"id");p(this,"callback");y(this,lt);y(this,H,new Set);y(this,At,new Set);y(this,dt,new Map);y(this,ut,new Set);p(this,"parentEffect");p(this,"childEffects",[]);p(this,"curChildEffectSlot",0);p(this,"autorun",!0);p(this,"shouldRun",!0);p(this,"priority");y(this,Pt);y(this,Dt,!1);p(this,"run",()=>{if(r(this,Dt)||!this.shouldRun)return;let t=Ei();t?t.batch(this.id,this.priority):(this.runCleanupCallback(),this.curChildEffectSlot=0,this.shouldRun=!1,E(zs,this.id,this.id),this.hasStaticDeps()?f(this,lt,this.callback()):(f(this,At,new Set(r(this,H))),f(this,lt,Ai(this,this.callback)),this.cleanupLostSignals(),r(this,ut).clear()))});p(this,"destroy",()=>{r(this,Dt)||(E(this,M.Destroy,this),$(this),E(bt,Ci,this),this.runCleanupCallback(),$(ge,this),$(bt,this),$(Nt,this),f(this,Dt,!0),r(this,H).clear(),r(this,At).clear(),r(this,dt).clear(),r(this,ut).clear(),this.childEffects.forEach(t=>{t.destroy()}),this.childEffects.length=0,--M.count)});var a,o;ot(this),this.callback=t;let i;(s==null?void 0:s.attach)!=null&&(i=ne.findOrCreate(s.attach),i.attachEffect(this)),this.autorun=(a=s==null?void 0:s.autorun)!=null?a:!0,f(this,Pt,s!=null&&s.dependencies?s.dependencies.map(n=>{switch(typeof n){case"string":case"symbol":return i.signal(n);default:return n}}):void 0),this.id=M.idGen.make(),this.priority=(o=s==null?void 0:s.priority)!=null?o:0,V(bt,this.id,Ht,this),++M.count}hasStaticDeps(){return r(this,Pt)!=null&&r(this,Pt).length>0}saveSignalsFromDeps(){for(let t of r(this,Pt))this.whenSignalIsRead(P(t).id)}static createEffect(t,s,i){let a=Array.isArray(s)?s:void 0,o=a?i!=null?i:{dependencies:a}:s;o&&a&&(o.dependencies=a);let n,d=Vs();return d!=null?(n=d.getCurrentChildEffect(),n==null&&(n=new M(t,o),d.attachChildEffect(n),E(bt,is,n)),d.curChildEffectSlot++):(n=new M(t,o),E(bt,is,n)),n.hasStaticDeps()?n.saveSignalsFromDeps():n.autorun&&n.run(),new ki(n)}getCurrentChildEffect(){return this.childEffects[this.curChildEffectSlot]}attachChildEffect(t){this.childEffects.push(t),this.parentEffect=this}[Ht](){this.shouldRun=!0,this.autorun&&this.run()}whenSignalIsRead(t){r(this,At).delete(t),r(this,H).has(t)||(r(this,H).add(t),r(this,dt).set(t,[V(ge,t,this.priority,Ht,this),A(Nt,t,ss,this)]))}[ss](t){!r(this,ut).has(t)&&r(this,H).has(t)&&(r(this,ut).add(t),this.unsubscribeSignal(t),r(this,ut).size===r(this,H).size&&this.destroy())}cleanupLostSignals(){for(let t of r(this,At))this.unsubscribeSignal(t),r(this,H).delete(t)}unsubscribeSignal(t){r(this,dt).has(t)&&(r(this,dt).get(t).forEach(s=>{s()}),r(this,dt).delete(t))}runCleanupCallback(){if(r(this,lt)!=null){let t=r(this,lt);f(this,lt,void 0),Pi(t)?Promise.resolve(t).then(s=>{typeof s=="function"&&s()}):t()}}},lt=new WeakMap,H=new WeakMap,At=new WeakMap,dt=new WeakMap,ut=new WeakMap,Pt=new WeakMap,Dt=new WeakMap,p(M,"idGen",new Ns("ef")),p(M,"Destroy","destroy"),p(M,"count",0),M),Vt=(...e)=>$s.createEffect(...e),_t=new WeakMap,Oi=e=>{let t=_t.get(e);return t||(t={},_t.set(e,t)),t},te=(e,t)=>{var s,i;return(i=(s=_t.get(e))==null?void 0:s.signals)==null?void 0:i.get(t)},Mi=(e,t,s)=>{var a;let i=Oi(e);(a=i.signals)!=null||(i.signals=new Map),i.signals.set(t,s)};function ji(...e){for(let t of e)if(_t.has(t)){let s=_t.get(t);if(s.signals){for(let i of s.signals.values())G(i);s.signals.clear(),s.signals=void 0}}}function Ti(e){let t=P(ee(e)?e:te(...e));t!=null&&!t.muted&&!t.destroyed&&Fe(t.id,t.value,{touch:!0})}function Ue(e){var t,s;return ee(e)?(t=P(e))==null?void 0:t.value:(s=P(te(...e)))==null?void 0:s.value}var Cs,Di=(Cs=_,class{constructor(e){p(this,Cs);this[_]=e}get get(){return this[_].reader}get set(){return this[_].writer}get value(){return Ue(this.get)}set value(e){this.set(e)}onChange(e){let{destroy:t}=Vt(()=>e(this.value),[this.get]);return t}get muted(){return this[_].muted}set muted(e){this[_].muted=e}touch(){Ti(this)}destroy(){G(this)}}),Li=new Ns("si");function ns(e){var t;Fs()||((t=Vs())==null||t.whenSignalIsRead(e))}function Fe(e,t,s){Fs()||E(ge,e,t,s)}var ee=e=>e!=null&&e[_]!=null,Ri=e=>{let t=s=>{var i;return s?Vt(()=>(e.destroyed||ns(e.id),s(e.value)),[t]):e.destroyed||((i=e.beforeRead)==null||i.call(e),ns(e.id)),e.value};return Object.defineProperty(t,_,{value:e}),t},Ot,W,Is=(Ot=class{constructor(t,s){p(this,"id");p(this,"lazy");p(this,"compare");p(this,"beforeRead");p(this,"muted",!1);p(this,"destroyed",!1);y(this,W);p(this,"valueFn");p(this,"reader");p(this,"writer",(t,s)=>{var o,n,d,g;let i=(o=s==null?void 0:s.lazy)!=null?o:!1,a=(d=(n=s==null?void 0:s.compare)!=null?n:this.compare)!=null?d:((m,w)=>m===w);if((i!==this.lazy||i&&t!==this.valueFn||!i&&!a(t,r(this,W)))&&(i?(f(this,W,void 0),this.valueFn=t,this.lazy=!0):(f(this,W,t),this.valueFn=void 0,this.lazy=!1),!this.muted&&!this.destroyed)){Fe(this.id,r(this,W));return}(g=s==null?void 0:s.touch)!=null&&g&&Fe(this.id,r(this,W),{touch:!0})});p(this,"object");this.id=Li.make(),++Ot.instanceCount,this.lazy=t,this.lazy?(this.value=void 0,this.valueFn=s):(this.value=s,this.valueFn=void 0),this.reader=Ri(this),this.object=new Di(this)}get[_](){return this}get value(){return this.lazy&&(f(this,W,this.valueFn()),this.valueFn=void 0,this.lazy=!1),r(this,W)}set value(t){f(this,W,t)}},W=new WeakMap,p(Ot,"instanceCount",0),Ot),P=e=>e==null?void 0:e[_];function k(e=void 0,t){var i;let s;if(ee(e))s=P(e);else{let a=(i=t==null?void 0:t.lazy)!=null?i:!1;s=new Is(a,e),s.beforeRead=t==null?void 0:t.beforeRead,s.compare=t==null?void 0:t.compare}return(t==null?void 0:t.attach)!=null&&ne.findOrCreate(t.attach).attachSignal(s),s.object}var G=(...e)=>{for(let t of e){let s=P(t);s!=null&&!s.destroyed&&(s.destroyed=!0,s.beforeRead=void 0,--Is.instanceCount,E(Nt,s.id,s.id))}};function xi(e,t){var n,d;let s=k(),i=(t==null?void 0:t.attach)!=null?ne.findOrCreate(t.attach):void 0;i!=null&&(t!=null&&t.name?i.attachSignalByName(t.name,s):i.attachSignal(s));let a=Vt(()=>{Zt(()=>{s.set(e())})},{autorun:!((n=t==null?void 0:t.lazy)!=null&&n),priority:(d=t==null?void 0:t.priority)!=null?d:ve.C,attach:i}),o=P(s);return o.beforeRead=a.run,A(Nt,o.id,a.destroy),s.get}var O,Lt,Es,Gs=(Es=class{constructor(e){y(this,O,!1);y(this,Lt);p(this,"source");p(this,"lastValue");p(this,"isDestroyed",!1);ot(this),this.source=P(e),f(this,Lt,V(ge,this.source.id,(t,s)=>{!r(this,O)&&!this.isDestroyed&&((s==null?void 0:s.touch)===!0?this.touch():this.write())})),A(Nt,this.source.id,()=>this.destroy())}attach(e){let t=ne.findOrCreate(e);return t.attachLink(this),A(this,Yt,()=>{t.detachLink(this)}),t}nextValue(){return new Promise((e,t)=>{let s=[],i=()=>s.forEach(a=>{a()});s.push(A(this,Bt,a=>{i(),e(a)}),A(this,Yt,()=>{i(),t()}))})}asyncValues(e){return Ye(this,null,function*(){let t=0;for(;!this.isDestroyed;)try{let s=yield new Ee(this.nextValue());if(e&&e(s,t++))break;Ge(this,Bt),yield s}catch(s){break}ye(this,Bt)})}destroy(){var e;this.isDestroyed||((e=r(this,Lt))==null||e.call(this),f(this,Lt,void 0),E(this,Yt,this),ye(this,Bt),$(this),this.lastValue=void 0,this.isDestroyed=!0,Object.freeze(this))}get isMuted(){return r(this,O)}mute(){return!this.isDestroyed&&!r(this,O)&&(f(this,O,!0),E(this,rs,this)),this}unmute(){return!this.isDestroyed&&r(this,O)&&(f(this,O,!1),E(this,as,this)),this}toggleMute(){return this.isDestroyed||(f(this,O,!r(this,O)),E(this,r(this,O)?rs:as,this)),r(this,O)}updateValue(e){if(!r(this,O)&&!this.isDestroyed){let{value:t}=this.source;e(t),E(this,Bt,t),this.lastValue=t}}},O=new WeakMap,Lt=new WeakMap,Es),zi=class extends Gs{constructor(t,s){super(t);p(this,"target");this.target=P(s),A(Nt,this.target.id,()=>this.destroy()),this.touch()}touch(){return this.updateValue(t=>{this.target.writer(t,{touch:!0})}),this}write(){this.updateValue(t=>{this.target.writer(t)})}},Fi=class extends Gs{constructor(t,s){super(t);p(this,"target");this.target=s,this.touch()}touch(){return this.updateValue(t=>{this.target(t)}),this}write(){this.updateValue(t=>{this.target(t)})}},de=new Map;function et(e,t,s){var m;let i=P(e),a;if(de.has(i)){a=de.get(i);let w=(m=P(t))!=null?m:t;if(a.has(w))return a.get(w)}else a=new Map,de.set(i,a);let o=P(t),n=o!=null?new zi(e,o):new Fi(e,t),d=s==null?void 0:s.attach;d&&n.attach(d);let g=o!=null?o:t;return a.set(g,n),A(n,Yt,()=>{a.delete(g),a.size===0&&de.delete(i)}),n}var D,Rt,Ni=(Rt=class{constructor(){y(this,D,new Map)}static fromProps(t,s){let i=new Rt,a=s?s.map(o=>[o,t[o]]):Object.entries(t);for(let[o,n]of a)r(i,D).set(o,k(n));return i}keys(){return r(this,D).keys()}signals(){return r(this,D).values()}entries(){return r(this,D).entries()}clear(){for(let t of r(this,D).values())t.destroy();r(this,D).clear()}has(t){return r(this,D).has(t)}get(t){if(!r(this,D).has(t)){let s=k();return r(this,D).set(t,s),s}return r(this,D).get(t)}update(t){t.size&&Zt(()=>{for(let[s,i]of t.entries())this.get(s).set(i)})}updateFromProps(t,s){Zt(()=>{let i=s?s.map(a=>[a,t[a]]):Object.entries(t);for(let[a,o]of i)this.get(a).set(o)})}},D=new WeakMap,Rt),Oe=e=>e!=null?e:void 0;function Vi(e,t,s,i,a,o){function n(I){if(I!==void 0&&typeof I!="function")throw new TypeError("Function expected");return I}for(var d=i.kind,g=d==="getter"?"get":d==="setter"?"set":"value",m=!t&&e?i.static?e:e.prototype:null,w=t||(m?Object.getOwnPropertyDescriptor(m,i.name):{}),h,l=!1,u=s.length-1;u>=0;u--){var c={};for(var b in i)c[b]=b==="access"?{}:i[b];for(var b in i.access)c.access[b]=i.access[b];c.addInitializer=function(I){if(l)throw new TypeError("Cannot add initializers after decoration has completed");o.push(n(I||null))};var T=(0,s[u])(d==="accessor"?{get:w.get,set:w.set}:w[g],c);if(d==="accessor"){if(T===void 0)continue;if(T===null||typeof T!="object")throw new TypeError("Object expected");(h=n(T.get))&&(w.get=h),(h=n(T.set))&&(w.set=h),(h=n(T.init))&&a.unshift(h)}else(h=n(T))&&(d==="field"?a.unshift(h):w[g]=h)}m&&Object.defineProperty(m,i.name,w),l=!0}function os(e,t,s){for(var i=arguments.length>2,a=0;a<t.length;a++)s=i?t[a].call(e,s):t[a].call(e);return i?s:void 0}function $i(e){return function(t,s){var o;let i=(e==null?void 0:e.name)||s.name,a=!!((o=e==null?void 0:e.readAsValue)!=null&&o);return{get(){let n=te(this,i);if(n)return a?n.value:n.get()},set(n){var d;(d=te(this,i))==null||d.set(n)},init(n){let d=k(n,e);return Mi(this,i,d),ne.findOrCreate(this).attachSignalByName(i,d),d.value}}}}var Tt="value",Ne=(()=>{var i,a,o,n,ce,Jt,m;let e,t=[],s=[];return m=class{constructor(h){y(this,n);y(this,i);y(this,a);y(this,o);f(this,i,[]),f(this,o,os(this,t,void 0)),this.value$=os(this,s),Ge(this,Tt),this.value$=te(this,Tt),this.value$.onChange(l=>E(this,Tt,l)),h&&this.add(...h)}get value(){return r(this,o)}set value(h){f(this,o,h)}add(...h){return r(this,i).push(...h),C(this,n,Jt).call(this),C(this,n,ce).call(this,h)}unshift(...h){return r(this,i).unshift(...h),C(this,n,Jt).call(this),C(this,n,ce).call(this,h)}remove(...h){C(this,n,ce).call(this,h)()}clear(){r(this,i).length=0,C(this,n,Jt).call(this)}dispose(){var h;this.clear(),(h=r(this,a))==null||h.destroy(),f(this,a,void 0),ye(this,Tt),$(this),this.value$.destroy(),ji(this)}},i=new WeakMap,a=new WeakMap,o=new WeakMap,n=new WeakSet,ce=function(h){return()=>{for(let l of h){let u=r(this,i).indexOf(l);u!==-1&&r(this,i).splice(u,1)}C(this,n,Jt).call(this)}},Jt=function(){var h;(h=r(this,a))==null||h.destroy(),r(this,i).length===0?(f(this,a,void 0),this.value=void 0):(f(this,a,Vt(()=>{let l;for(let u of r(this,i)){let c=Ue(u);if(c!=null){l=c;break}}this.value=l},r(this,i))),r(this,a).run())},(()=>{let h=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;e=[$i({name:Tt})],Vi(m,null,e,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:l=>"value"in l,get:l=>l.value,set:(l,u)=>{l.value=u}},metadata:h},t,s),h&&Object.defineProperty(m,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:h})})(),m.Value=Tt,m})(),hs=Symbol("onCreate"),mt=Symbol("onDestroy"),Ii=Symbol("onParentChanged"),Us=Symbol("onViewEvent"),Me=new Map,je=!1,Gi=(e,t)=>{Me.set(e,t),je||(je=!0,queueMicrotask(()=>{je=!1;let s=Array.from(Me.entries());Me.clear();for(let[i,a]of s)i.set(a)}))},Q,xt,ct,q,ft,z,L,rt,F,zt,j,Ve,pt,Kt,fe,Ss,Ui=(Ss=class{constructor(e,t){y(this,j);y(this,Q);y(this,xt);y(this,ct,new Ni);y(this,q,new Map);y(this,ft,new Map);y(this,z);y(this,L);y(this,rt,new Set);y(this,F,[]);y(this,zt,0);y(this,pt);f(this,Q,e),f(this,xt,t),A(this,mt,ve.Min,this)}get kernel(){return r(this,Q)}get uuid(){return r(this,xt)}get order(){return r(this,zt)}set order(e){r(this,zt)!==e&&(f(this,zt,e),r(this,z)&&this.parent.resortChildren())}get parentUuid(){return r(this,z)||void 0}set parentUuid(e){r(this,z)!==e&&(this.removeFromParent(),f(this,z,e||void 0),f(this,L,e?r(this,Q).getEntity(e):void 0),r(this,L)&&r(this,L).addChild(this))}get parent(){return!r(this,L)&&r(this,z)&&f(this,L,r(this,Q).getEntity(r(this,z))),r(this,L)}set parent(e){this.parentUuid=e==null?void 0:e.uuid}get hasParent(){return!!r(this,z)}get children(){return r(this,F)}traverse(e){e(this);for(let t of r(this,F))t.traverse(e)}[mt](){var e;r(this,ct).clear(),$(this);for(let t of r(this,ft).values())t.cleanup(),t.signal.destroy();r(this,ft).clear();for(let t of r(this,q).values())t.context.set(void 0),t.unsubscribePathValue(),(e=t.unsubscribeFromParent)==null||e.call(t),t.valuePath.dispose(),t.inherited.destroy(),t.provide.destroy(),t.context.destroy();f(this,z,void 0),f(this,L,void 0),r(this,rt).clear(),r(this,F).length=0}addChild(e){var t;if(r(this,F).length===0){r(this,rt).add(e.uuid),r(this,F).push(e);return}if(r(this,rt).has(e.uuid))throw new Error(`child with uuid: ${e.uuid} already exists! parentUuid: ${this.uuid}`);r(this,rt).add(e.uuid),r(this,F).push(e),this.resortChildren();for(let[,s]of r(e,q))C(t=e,j,fe).call(t,s)}resortChildren(){r(this,F).sort((e,t)=>e.order-t.order)}removeChild(e){r(this,rt).has(e.uuid)&&(r(this,rt).delete(e.uuid),r(this,F).splice(r(this,F).indexOf(e),1))}removeFromParent(){if(r(this,L)){r(this,L).removeChild(this),f(this,L,void 0),f(this,z,void 0);for(let[,e]of r(this,q))e.unsubscribeFromParent&&(e.unsubscribeFromParent(),e.unsubscribeFromParent=void 0)}}reSubscribeToParentContexts(){for(let[,e]of r(this,q))C(this,j,fe).call(this,e)}dispatchMessageToView(e,t,s,i=!1){r(this,Q).dispatchMessageToView({uuid:r(this,xt),type:e,data:t,transferables:s,traverseChildren:i})}dispatchViewEvents(e){for(let{type:t,data:s}of e)E(this,Us,t,s)}dispatchViewEvent(e,t){this.dispatchViewEvents([{type:e,data:t}])}getPropertyReader(e){return C(this,j,Ve).call(this,e).get}getPropertyWriter(e){return C(this,j,Ve).call(this,e).set}setProperties(e){this.clearTruthyPropsCache(),Zt(()=>{for(let[t,s]of e)this.setProperty(t,s)})}setProperty(e,t){this.getPropertyWriter(e)(t)}getProperty(e){return Ue(this.getPropertyReader(e))}propKeys(){return Array.from(r(this,ct).keys())}propEntries(){return Array.from(r(this,ct).entries()).map(([e,t])=>[e,t.value])}clearTruthyPropsCache(){f(this,pt,void 0)}truthyProps(){if(r(this,pt))return r(this,pt).size?r(this,pt):void 0;let e=new Set;for(let[t,s]of r(this,ct).entries())if(typeof t=="string"){let i=s.value;i!=null&&i!==!1&&i!==""&&e.add(t)}return f(this,pt,e),e.size?e:void 0}hasContext(e){return r(this,q).has(e)}useContext(e){return C(this,j,Kt).call(this,e).context.get}useParentContext(e){return C(this,j,Kt).call(this,e).inherited.get}provideContext(e){return C(this,j,Kt).call(this,e).provide}provideGlobalContext(e){if(r(this,ft).has(e))return r(this,ft).get(e).signal;let t=r(this,Q).findOrCreateRootContext(e),s=k(),i=t.add(s);return r(this,ft).set(e,{cleanup:i,signal:s}),s}},Q=new WeakMap,xt=new WeakMap,ct=new WeakMap,q=new WeakMap,ft=new WeakMap,z=new WeakMap,L=new WeakMap,rt=new WeakMap,F=new WeakMap,zt=new WeakMap,j=new WeakSet,Ve=function(e){return r(this,ct).get(e)},pt=new WeakMap,Kt=function(e){if(r(this,q).has(e))return r(this,q).get(e);let t=k(),s=k(),i=k(),a=new Ne([s,t]),o=V(a,Ne.Value,d=>{Gi(i,d)}),n={name:e,inherited:t,provide:s,context:i,valuePath:a,unsubscribePathValue:o};return r(this,q).set(e,n),C(this,j,fe).call(this,n),n},fe=function(e){var t,s;if((t=e.unsubscribeFromParent)==null||t.call(e),e.unsubscribeFromParent=void 0,this.parent){let i=C(s=this.parent,j,Kt).call(s,e.name),a=et(i.context,e.inherited);e.unsubscribeFromParent=a.destroy.bind(a)}else{let i=r(this,Q).findOrCreateRootContext(e.name),a=et(i.value$,e.inherited);e.unsubscribeFromParent=a.destroy.bind(a)}},Ss);function Bi(e,t){e.indexOf(t)===-1&&e.push(t)}var ls=e=>{let t=e.split("@").map(s=>s.trim());if(t.length===2&&t[1])return t[0]?{key:`${t[0]}@${t[1]}`,prop:t[1],token:t[0]}:{key:t[1],prop:t[1]}},ue=(e,t)=>{for(let s of t)e.add(s)},Wi=(e,t)=>{if(e!=null)for(let s of e.constructors)t.add(s)},at,R,J,ks,Bs=(ks=class{constructor(){y(this,at,new Map);y(this,R,new Map);y(this,J,new Map)}static get(e){return e!=null?e:qi}define(e,t){r(this,at).has(e)?Bi(r(this,at).get(e).constructors,t):r(this,at).set(e,{token:e,constructors:[t]})}appendRoute(e,t){let s=ls(e);s?r(this,J).has(s.key)?ue(r(this,J).get(s.key).routes,t):r(this,J).set(s.key,{routes:new Set(t),token:s.token}):r(this,R).has(e)?ue(r(this,R).get(e),t):r(this,R).set(e,new Set(t))}clearRoute(e){let t=ls(e);t?r(this,J).delete(t.key):r(this,R).delete(e)}findTokensByRoute(e,t){let s=new Set([e]),i=r(this,R).has(e)?[...r(this,R).get(e)]:[];for(;i.length;){let a=i.shift();s.has(a)||(s.add(a),r(this,R).has(a)&&i.push(...Array.from(r(this,R).get(a)).filter(o=>!s.has(o))))}if(t){for(let o of t)r(this,J).has(o)&&ue(s,r(this,J).get(o).routes);let a;do{a=s.size;for(let o of new Set(s))for(let n of t){let d=`${o}@${n}`;r(this,J).has(d)&&ue(s,r(this,J).get(d).routes)}}while(a!==s.size)}return s}findConstructors(e,t){let s=this.findTokensByRoute(e,t),i=new Set;for(let a of s)Wi(r(this,at).get(a),i);return i.size>0?Array.from(i):void 0}hasToken(e){return r(this,at).has(e)}hasRoute(e){return r(this,R).has(e)}clear(){r(this,at).clear(),r(this,R).clear()}},at=new WeakMap,R=new WeakMap,J=new WeakMap,ks),qi=new Bs,st;(function(e){e[e.CreateAndDestroy=0]="CreateAndDestroy",e[e.JustCreate=1]="JustCreate",e[e.DestroyOnly=2]="DestroyOnly"})(st||(st={}));var ds=e=>e.displayName||e.name,us=!1,cs=!1,fs=!1,ps=!1,ys=!1,S,X,Ft,re,Z,yt,As,Ji=(As=class{constructor(e){y(this,S);y(this,X);y(this,Ft);y(this,re);y(this,Z);y(this,yt);this.logger=new si("Kernel"),f(this,S,new Map),f(this,X,new Set),f(this,Z,!0),f(this,yt,new Map),ot(this),this.registry=Bs.get(e)}getEntity(e){var s;let t=(s=r(this,S).get(e))==null?void 0:s.entity;if(!t)throw new Error(`entity with uuid "${e}" not found!`);return t}hasEntity(e){return r(this,S).has(e)}traverseLevelOrderBFS(e=!1){if(r(this,Z)){let t=new Map,s=(i,a)=>{let o=this.getEntity(i);t.has(a)?t.get(a).push(o):t.set(a,[o]);for(let n of o.children)s(n.uuid,a+1)};r(this,X).forEach(i=>{s(i,0)}),f(this,Ft,Array.from(t.entries()).sort((i,a)=>i[0]-a[0]).flatMap(([,i])=>i)),f(this,re,r(this,Ft).slice().reverse()),f(this,Z,!1)}return e?r(this,re):r(this,Ft)}getEntityGraph(){return Array.from(r(this,X)).map(e=>this.getEntityGraphNode(e))}getEntityGraphNode(e){if(!r(this,S).has(e))return;let{token:t,entity:s}=r(this,S).get(e);return{token:t,entity:s,props:Object.fromEntries(s.propEntries()),children:s.children.map(i=>this.getEntityGraphNode(i.uuid))}}upgradeEntities(){let e=new Map;for(let t of this.traverseLevelOrderBFS(!0))e.set(t.uuid,this.updateShadowObjects(t.uuid,st.DestroyOnly));for(let t of this.traverseLevelOrderBFS(!1))this.updateShadowObjects(t.uuid,st.JustCreate,e.get(t.uuid));e.clear()}run(e){this.logger.isDebug&&this.logger.debug("sync",e),Zt(()=>{for(let t of e.changeTrail)this.parse(t)})}parse(e){switch(e.type){case tt.CreateEntities:this.createEntity(e.uuid,e.token,e.parentUuid,e.order,e.properties),f(this,Z,!0);break;case tt.DestroyEntities:this.destroyEntity(e.uuid),f(this,Z,!0);break;case tt.SetParent:this.setParent(e.uuid,e.parentUuid,e.order),f(this,Z,!0);break;case tt.UpdateOrder:this.updateOrder(e.uuid,e.order),f(this,Z,!0);break;case tt.ChangeProperties:this.changeProperties(e.uuid,e.properties);break;case tt.ChangeToken:this.changeToken(e.uuid,e.token);break;case tt.SendEvents:this.dispatchEventsToEntity(e.uuid,e.events);break}}createEntity(e,t,s,i=0,a){let o=new Ui(this,e);o.order=i;let n={token:t,entity:o,usedConstructors:new Map};r(this,S).set(e,n),s&&(o.parentUuid=s),o.hasParent||r(this,X).add(e),a&&o.setProperties(a),this.createShadowObjects(e)}destroyEntity(e){if(!r(this,S).has(e))return;let{entity:t,usedConstructors:s}=r(this,S).get(e);t.removeFromParent(),E(t,mt,t),s.clear(),r(this,S).delete(t.uuid),r(this,X).delete(t.uuid)}setParent(e,t,s=0){let i=this.getEntity(e);i.parentUuid===t&&i.order===s||(i.removeFromParent(),i.order=s,i.parentUuid=t,i.hasParent?r(this,X).delete(e):r(this,X).add(e),i.reSubscribeToParentContexts(),queueMicrotask(()=>{this.logger.isDebug&&this.logger.debug("entity.onParentChanged",{uuid:e,parentUuid:t,order:s,entity:i}),E(i,Ii,i)}))}updateOrder(e,t){this.getEntity(e).order=t}dispatchEventsToEntity(e,t){var s;(s=this.getEntity(e))==null||s.dispatchViewEvents(t)}changeProperties(e,t){this.getEntity(e).setProperties(t),this.updateShadowObjects(e)}changeToken(e,t){if(!r(this,S).has(e))return;let s=r(this,S).get(e);s.token!==t&&(s.token=t,this.updateShadowObjects(e))}dispatchMessageToView(e){queueMicrotask(()=>{E(this,De,e)})}updateShadowObjects(e,t=st.CreateAndDestroy,s){let i=r(this,S).get(e);s!=null||(s=new Set(this.registry.findConstructors(i.token,i.entity.truthyProps())));let a=t===st.CreateAndDestroy||t===st.DestroyOnly,o=t===st.CreateAndDestroy||t===st.JustCreate;if(a){for(let[n,d]of i.usedConstructors)if(!s.has(n)){i.usedConstructors.delete(n);for(let g of d)this.destroyShadowObject(g,i.entity)}}if(o)for(let n of s)i.usedConstructors.has(n)||this.constructShadowObject(n,i);return s}constructShadowObject(e,t){let s=new Set,i=new Set,a=new Map,o=new Map,n=new Map,d=new Map,g=new Map,m=(h,l)=>{!ys&&l!=null&&typeof l=="function"&&(console.warn(\'[shadow-objects] Deprecation Warning: The "isEqual" option of "useProperty()" is now passed as {compare} argument. Please update your code accordingly.\'),ys=!0);let u=typeof l=="function"?{compare:l}:l,c=g.get(h);if(c===void 0){c=k(void 0,u).get,g.set(h,c);let b=et(t.entity.getPropertyReader(h),c);i.add(b.destroy.bind(b))}return c},w=ot(new e({entity:t.entity,provideContext(h,l,u){var T;!us&&u!=null&&typeof u=="function"&&(console.warn(\'[shadow-objects] Deprecation Warning: The "isEqual" option of "provideContext()" is now passed as {compare} argument. Please update your code accordingly.\'),us=!0);let c=typeof u=="function"?{compare:u}:u,b=n.get(h);if(b==null){let I=ee(l),be=I?void 0:Oe(l);if(b=k(be,c!=null&&c.compare?{compare:c.compare}:void 0),I){let Gt=et(l,b);i.add(Gt.destroy.bind(Gt))}let It=et(b,t.entity.provideContext(h));i.add(It.destroy.bind(It)),n.set(h,b)}return b!=null&&((T=c==null?void 0:c.clearOnDestroy)==null||T)&&i.add(()=>{b.set(void 0)}),b},provideGlobalContext(h,l,u){var T;!cs&&u!=null&&typeof u=="function"&&(console.warn(\'[shadow-objects] Deprecation Warning: The "isEqual" option of "provideGlobalContext()" is now passed as {compare} argument. Please update your code accordingly.\'),cs=!0);let c=typeof u=="function"?{compare:u}:u,b=d.get(h);if(b==null){let I=ee(l),be=I?void 0:Oe(l);if(b=k(be,c!=null&&c.compare?{compare:c.compare}:void 0),I){let Gt=et(l,b);i.add(Gt.destroy.bind(Gt))}let It=et(b,t.entity.provideGlobalContext(h));i.add(It.destroy.bind(It)),d.set(h,b)}return b!=null&&((T=c==null?void 0:c.clearOnDestroy)==null||T)&&i.add(()=>{b.set(void 0)}),b},useContext(h,l){!fs&&l!=null&&typeof l=="function"&&(console.warn(\'[shadow-objects] Deprecation Warning: The "isEqual" option of "useContext()" is now passed as {compare} argument. Please update your code accordingly.\'),fs=!0);let u=typeof l=="function"?{compare:l}:l,c=a.get(h);if(c===void 0){c=k(void 0,u).get,a.set(h,c);let b=et(t.entity.useContext(h),c);i.add(b.destroy.bind(b))}return c},useParentContext(h,l){!ps&&l!=null&&typeof l=="function"&&(console.warn(\'[shadow-objects] Deprecation Warning: The "isEqual" option of "useParentContext()" is now passed as {compare} argument. Please update your code accordingly.\'),ps=!0);let u=typeof l=="function"?{compare:l}:l,c=o.get(h);if(c===void 0){c=k(void 0,u).get,o.set(h,c);let b=et(t.entity.useParentContext(h),c);i.add(b.destroy.bind(b))}return c},dispatchMessageToView(h,l,u,c=!1){t.entity.dispatchMessageToView(h,l,u,c)},useProperty:m,useProperties(h){let l={};for(let u in h)Object.hasOwn(h,u)&&(l[u]=m(h[u]));return l},createResource(h,l){let u=k(),c=Vt(()=>{let b=Oe(h());return u.set(b),b!==void 0&&l?()=>{l(b),u.set(void 0)}:()=>{u.set(void 0)}});return i.add(()=>{c.destroy(),u.set(void 0),G(u)}),u},createEffect(...h){let l=Vt(...h);return i.add(l.destroy),l},createSignal(...h){let l=k(...h);return i.add(()=>{G(l)}),l},createMemo(...h){let l=xi(...h);return i.add(()=>{G(l)}),l},on(...h){let[l]=h;if(typeof l=="string"||typeof l=="symbol"||Array.isArray(l)){let c=V(t.entity,...h);return i.add(c),c}let u=V(...h);return i.add(u),u},once(...h){let[l]=h;if(typeof l=="string"||typeof l=="symbol"||Array.isArray(l)){let c=A(t.entity,...h);return i.add(c),c}let u=A(...h);return i.add(u),u},onViewEvent(h){let l=V(t.entity,Us,(u,c)=>{h(u,c)});i.add(l)},onDestroy(h){s.add(h)}}));return this.logger.isInfo&&this.logger.info("create shadow-object",ds(e),{shadowObject:w,entity:t.entity}),A(t.entity,mt,ve.Low,()=>{this.logger.isInfo&&this.logger.info("destroy shadow-object",ds(e),{shadowObject:w,entity:t.entity});for(let l of s)l();for(let l of i)l();for(let l of a.values())G(l);for(let l of o.values())G(l);for(let l of g.values())G(l);for(let l of n.values())G(l);for(let l of d.values())G(l);s.clear(),i.clear(),a.clear(),o.clear(),g.clear(),n.clear(),d.clear();let h=t.usedConstructors.get(e);h&&(h.delete(w),h.size===0&&t.usedConstructors.delete(e))}),t.usedConstructors.has(e)?t.usedConstructors.get(e).add(w):t.usedConstructors.set(e,new Set([w])),this.attachShadowObject(w,t.entity),w}createShadowObjects(e){var s;let t=r(this,S).get(e);(s=this.registry.findConstructors(t.token,t.entity.truthyProps()))==null||s.forEach(i=>{this.constructShadowObject(i,t)})}findShadowObjects(e){if(!r(this,S).has(e))return[];let{usedConstructors:t}=r(this,S).get(e);return Array.from(new Set(Array.from(t.values()).flatMap(s=>Array.from(s))))}attachShadowObject(e,t){V(t,e),typeof e[hs]=="function"&&e[hs](t)}destroyShadowObject(e,t){typeof e[mt]=="function"&&e[mt](t),E(e,mt,t),$(t,e)}findOrCreateRootContext(e){let t=r(this,yt).get(e);return t||(t=new Ne,r(this,yt).set(e,t)),t}destroy(){for(let e of r(this,yt).values())e.dispose();r(this,yt).clear();for(let e of this.traverseLevelOrderBFS().reverse())this.destroyEntity(e.uuid)}},S=new WeakMap,X=new WeakMap,Ft=new WeakMap,re=new WeakMap,Z=new WeakMap,yt=new WeakMap,As);async function Ws(e,t,s,i=!0){var o,n;if(s.has(t)){console.warn("importModule: skipping already imported module",t);return}else s.add(t);t.extends&&await Promise.all(t.extends.map(d=>Ws(e,d,s,!1)));let{registry:a}=e;if(t.define)for(let[d,g]of Object.entries(t.define))a.define(d,g);if(t.routes)for(let[d,g]of Object.entries(t.routes))a.appendRoute(d,g);await((n=(o=t.initialize)==null?void 0:o.call(t,{define:(d,g)=>a.define(d,g),kernel:e,registry:a}))!=null?n:Promise.resolve()),i&&e.upgradeEntities()}var Ki=e=>(typeof e=="string"&&(e=new URL(e,globalThis.location.href)),e.toString()),ae,gt,qs,Js,Ks,Ps,Yi=(Ps=class{constructor(e){y(this,gt);y(this,ae,new Set);var t,s;this.kernel=(t=e==null?void 0:e.kernel)!=null?t:new Ji,this.postMessage=(s=e==null?void 0:e.postMessage)!=null?s:self.postMessage.bind(self),V(this.kernel,De,"onMessageToView",this)}route(e){var t;switch(e.data.type){case Qs:C(this,gt,qs).call(this,e.data);break;case Xs:C(this,gt,Js).call(this,e.data);break;case Zs:C(this,gt,Ks).call(this,e.data);break;default:console.warn("[MessageRouter] unknown message",(t=e.data.type)!=null?t:e.data)}}onMessageToView(e){let i=e,{transferables:t}=i,s=Je(i,["transferables"]);this.postMessage({type:De,data:s},{transfer:t})}},ae=new WeakMap,gt=new WeakSet,qs=async function(e){try{let t=await import(Ki(e.importModule));t[ke]?(await Ws(this.kernel,t[ke],r(this,ae)),this.postMessage({type:Se,url:e.importModule})):this.postMessage({type:Se,url:e.importModule,error:`module has no "${ke}" export`})}catch(t){console.error("[MessageRouter] failed to import module",t),this.postMessage({type:Se,url:e.importModule,error:`${t}`})}},Js=function(e){try{this.kernel.run(e)}catch(t){console.error("[MessageRouter] failed to apply change trail",t),this.postMessage({type:Qe,serial:e.serial,error:t.toString()})}e.serial&&this.postMessage({type:Qe,serial:e.serial})},Ks=function(e){console.debug("[MessageRouter] on destroy",e),$(this.kernel,this),r(this,ae).clear(),this.postMessage({type:ti})},Ps),Hi=class{constructor(){this.onmessage=e=>{var t;e.data.type===N?globalThis[x]=e.data.config:((t=this.router)!=null||(this.router=new Yi),this.router.route(e))}}start(){self.addEventListener("message",this.onmessage),self.postMessage({type:_s})}};console.debug("@spearwolf/shadow-objects/WorkerRuntime: hello!");var Qi=new Hi;Qi.start();\n/*! Bundled license information:\n\n@spearwolf/eventize/lib/index.mjs:\n (*!\n =============================================================================\n @spearwolf/eventize 4.0.2+build.20250807\n \u2014 https://github.com/spearwolf/eventize.git\n =============================================================================\n \n Copyright 2015-2025 Wolfger Schramm\n \n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n *)\n*/\n')}var Qs=()=>new Xt;var We=(s,e,t=1e3,r)=>new Promise((i,n)=>{let o,l,a=()=>{clearTimeout(o),s.removeEventListener("message",l)};t!==0&&t!==1/0&&(o=setTimeout(()=>{a(),n(new Error(`Timeout waiting for message of type: ${e}`))},t)),l=f=>{if(f.data.type===e)try{(!r||r(f.data))&&(a(),i())}catch(C){a(),n(C.toString())}},s.addEventListener("message",l)});var xr=s=>{let e;if(s!=null&&Array.isArray(s))for(let t of s)t.transferables&&(e?e=[...e,...t.transferables]:e=t.transferables,delete t.transferables);return e},xt=class s{static{this.WorkerLoaded="workerLoaded"}#e;#t;#s;get isDestroyed(){return this.#t}get workerLoaded(){return pe(this,s.WorkerLoaded)}constructor(){this.#t=!1,this.#s=0,this.logger=new P("RemoteWorkerEnv"),B(this,s.WorkerLoaded)}async start(){if(this.#e)return this.logger.isWarn&&this.logger.warn("already started"),this.workerLoaded.then(()=>{if(this.isDestroyed)throw"worker was destroyed"});let e=this.#e=Qs();this.configureConsoleLogger(e);try{if(await We(e,Cs,ks),this.isDestroyed)throw"worker was destroyed";e.addEventListener("message",this.onMessageFromWorker.bind(this)),queueMicrotask(()=>{g(this,s.WorkerLoaded,this)})}catch(t){throw this.logger.error("failed to start",t),this.#e=void 0,t}}applyChangeTrail(e,t){let r=xr(e),i={type:vs,changeTrail:e},n=++this.#s;return t&&(i.serial=n),this.#e.postMessage(i,r),t?We(this.#e,Es,Ts,o=>{if(o.error)throw o.error;return o.serial===n}):Promise.resolve()}importScript(e){return e=Et(e),this.#e.postMessage({type:bs,importModule:e}),We(this.#e,Ss,As,t=>{if(t.error)throw t.error;return t.url===e})}destroy(){if(!this.#e)return;let e=this.#e;this.#e=void 0,this.#t=!0,e.postMessage({type:ws}),We(e,xs,Os).finally(()=>{e.terminate()})}onMessageFromWorker(e){e.data?.type===be?this.onMessageToView?.(e.data.data):this.logger.isDebug&&this.logger.debug("message from worker",e)}configureConsoleLogger(e){let t=`${N}.RemoteWorkerEnv.workerConfig`,r=JSON.parse(localStorage.getItem(t)??"{}");this.logger.isInfo&&this.logger.info("load console-logger worker config",{localStorageKey:t,workerConfig:r}),e.postMessage({type:N,config:{...P.sharedConfig,enable:this.logger.isEnabled,...r,...P.isEnabled?{}:{enable:!1}}})}};var Ie,Fe=class extends ie{static{this.observedAttributes=[...ie.observedAttributes,ht,"src",lt,W]}static{this.DefaultAutoSync="frame"}#e;#t;#s;#i;#r;constructor(){super(),this.isShaeWorkerElement=!0,this.shadowEnv=new V,this.logger=new P("ShaeWorkerElement"),this.autostart=!0,this.isConnected$=p(!1),this.autoSync$=p(Ie.DefaultAutoSync),this.src$=p(""),this.#e=!1,this.#t=!1,this.ns$.onChange(e=>{this.shadowEnv.view=D.get(e)}),m(this.shadowEnv,V.ContextCreated,()=>{this.#r?.run(),this.dispatchEvent(new CustomEvent(V.ContextCreated.toLowerCase(),{bubbles:!1,detail:{shadowEnv:this.shadowEnv}}))}),m(this.shadowEnv,V.ContextLost,()=>{this.dispatchEvent(new CustomEvent(V.ContextLost.toLowerCase(),{bubbles:!1,detail:{shadowEnv:this.shadowEnv}}))}),this.autoSync$.onChange(e=>{let t=this.hasAttribute(W),r=t?this.getAttribute(W):void 0;e===Ie.DefaultAutoSync?t&&r!==e&&this.setAttribute(W,e):r!==e&&this.setAttribute(W,e)}),this.#a(),this.#n(),this.style.display="contents"}#n(){this.#r=w(()=>{let e=this.src$.get();e&&this.importScript(e)},{autorun:!1})}get shouldAutostart(){return this.autostart&&!_e(this,Ns)}get autoSync(){return this.autoSync$.value}set autoSync(e){typeof e!="string"&&(e=e?Ie.DefaultAutoSync:"no"),this.autoSync$.set(`${e}`.trim().toLowerCase())}get frameLoop(){return this.#s??=new ve,this.#s}[ve.OnFrame](){this.syncShadowObjects()}async importScript(e){if(!e)throw new Error("src is blank");let t=await this.shadowEnv.ready();return this.logger.isInfo&&this.logger.info("shadowEnv importScript:",e,{shadowEnv:t}),await t.envProxy.importScript(e),this}connectedCallback(){O(()=>{this.hasAttribute(W)&&this.autoSync$.set(this.getAttribute(W)),this.isConnected$.set(!0)}),this.shouldAutostart&&this.start()}disconnectedCallback(){this.isConnected$.set(!1),this.#o()}attributeChangedCallback(e){if(super.attributeChangedCallback(e),e===ht&&this.shadowEnv.envProxy!=null)throw new Error('Changing the "local" attribute after the shadowEnv has been created is not supported.');if(e===lt&&this.#h(),e===W&&(this.autoSync=this.hasAttribute(W)?this.getAttribute(W):!0),e==="src"){let t=(this.getAttribute("src")||"").trim();this.src$.set(t),this.shadowEnv.isReady&&this.#r?.run()}}start(){if(!this.#t){if(this.#e=!1,this.shadowEnv.view??=D.get(this.ns),this.shadowEnv.envProxy==null){let e=_e(this,ht)?new St:new xt;this.shadowEnv.envProxy=e,this.#h()}this.#t=!0}return this.shadowEnv.ready()}destroy(){this.#i?.destroy(),this.#r?.destroy(),A(this.isConnected$,this.autoSync$,this.src$),this.shadowEnv.envProxy=void 0,this.shadowEnv.destroy()}#o(){this.#e||(this.#e=!0,queueMicrotask(()=>{this.#e&&this.destroy()}))}#a(){this.#i=w(()=>{if(this.isConnected$.get()){let e=(this.autoSync$.get()||Ie.DefaultAutoSync).trim().toLowerCase(),t;if(["true","yes","on","frame","auto-sync"].includes(e))return this.logger.isDebug&&this.logger.debug("auto-sync",e,this),this.frameLoop.start(this),()=>{this.frameLoop.stop(this)};if(e.toLowerCase().endsWith("fps")){let r=parseInt(e,10);r>0?t=Math.floor(1e3/r):this.logger.isWarn&&this.logger.warn(`invalid auto-sync value: ${e}`)}else t=parseInt(e,10),isNaN(t)&&(t=void 0,["false","no","off"].includes(e)||this.logger.error(`invalid auto-sync value: ${e}`));if(t!==void 0&&t>0){this.logger.isDebug&&this.logger.debug("auto-sync interval (ms)",t,this);let r=setInterval(()=>{this.syncShadowObjects()},t);return()=>{clearInterval(r)}}else this.logger.isDebug&&this.logger.debug("auto-sync off",this)}},[this.autoSync$,this.isConnected$])}#h(){let e=this.shadowEnv.envProxy;e?.isLocalEnv&&(e.disableStructuredClone=this.hasAttribute(lt))}};Ie=Fe;customElements.define(Ds,Fe);globalThis.SHADOW_ENTS_BUNDLE_LOADED=!0;
|
|
21
|
+
var te="*",Zt=1,xt=2,kt=4,z=Symbol.for("eventize"),Hs="[eventize]",Fe=s=>s===te,es=s=>{switch(typeof s){case"string":case"symbol":return!0;default:return!1}},ts=typeof console<"u",Ks=ts?console[console.warn?"warn":"log"].bind(console,Hs):()=>{},Qs=(s,e,t)=>(Object.defineProperty(s,e,{value:t,configurable:!0}),s),Ys=0,ss=class{static publish(s){s.sort((e,t)=>e.order-t.order).forEach(e=>e.emit())}events=new Map;eventNames=new Set;add(s){Array.isArray(s)?s.forEach(e=>this.eventNames.add(e)):this.eventNames.add(s)}remove(s){Array.isArray(s)?s.forEach(e=>this.eventNames.delete(e)):this.eventNames.delete(s),this.clear(s)}clear(s){Array.isArray(s)?s.forEach(e=>this.events.delete(e)):this.events.delete(s)}retain(s,e){this.eventNames.has(s)&&this.events.set(s,{args:e,order:Ys++})}isKnown(s){return this.eventNames.has(s)}emit(s,e,t=[]){if(Fe(s))this.eventNames.forEach(r=>this.emit(r,e,t));else if(this.events.has(s)){let{order:r,args:i}=this.events.get(s);t.push({order:r,emit:()=>e.apply(s,i)})}return t}},Et=(s,e,t,r)=>{if(typeof e=="function"){let i=e.apply(s,t);i!=null&&r?.(i)}},Js=(s,e,t,r)=>Et(e,e.emit,[s].concat(t),r),Xs=s=>{switch(typeof s){case"function":return Zt;case"string":case"symbol":return xt;case"object":return kt}},Zs=0,er=()=>++Zs,rs=class{id;eventName;isCatchEmAll;priority;listener;listenerObject;listenerType;callAfterApply;isRemoved;refCount;constructor(s,e,t,r=null){this.id=er(),this.eventName=s,this.isCatchEmAll=Fe(s),this.listener=t,this.listenerObject=r,this.priority=e,this.listenerType=Xs(t),this.callAfterApply=void 0,this.isRemoved=!1,this.refCount=1}isEqual(s,e=null){if(s===this)return!0;let t=typeof s;return t==="number"&&s===this.id?!0:e===null&&(t==="string"||t==="symbol")?s===te||s===this.eventName:this.listener===s&&this.listenerObject===e}apply(s,e,t){if(this.isRemoved)return;let{listener:r,listenerObject:i}=this;switch(this.listenerType){case Zt:Et(i,r,e,t),this.callAfterApply&&this.callAfterApply();break;case xt:Et(i,i[r],e,t),this.callAfterApply&&this.callAfterApply();break;case kt:{let n=r[s];if(this.isCatchEmAll||this.eventName===s){if(typeof n=="function"){let o=n.apply(r,e);o!=null&&t?.(o)}else Js(s,r,e,t);this.callAfterApply&&this.callAfterApply()}break}}}},tr=(s,e)=>s.priority!==e.priority?e.priority-s.priority:s.id-e.id,Yt=s=>s?.slice(0),Jt=(s,e)=>{let t=s.indexOf(e);t>-1&&s.splice(t,1)},sr=s=>s===kt||s===xt,St=(s,e,t)=>{let r=s.findIndex(i=>i.isEqual(e,t));r>-1&&(s[r].isRemoved=!0,s.splice(r,1))},Ie=(s,e,t)=>{let r=[];for(let i of s)(e==null&&i.listenerObject===t||i.eventName===e&&i.listener===t)&&r.push(i);for(let i of r)St(s,i,void 0)},Ct=s=>{s&&(s.forEach(e=>{e.isRemoved=!0}),s.length=0)},rr=(s,e)=>s.listenerType===e.listenerType?s.priority===e.priority&&s.eventName===e.eventName&&s.listenerObject===e.listenerObject&&s.listener===e.listener:!1,ir=(s,e)=>{if(sr(s.listenerType))return e.find(t=>rr(s,t))},nr=(s,e)=>{let t=ir(s,e);return t?(t.refCount+=1,t):(e.push(s),e.sort(tr),s)},or=class{namedListeners;catchEmAllListeners;getListenersForEventName=s=>{let e=this.namedListeners.get(s);return e||(e=[],this.namedListeners.set(s,e)),e};constructor(){this.namedListeners=new Map,this.catchEmAllListeners=[]}add(s){return nr(s,s.isCatchEmAll?this.catchEmAllListeners:this.getListenersForEventName(s.eventName))}remove(s,e,t=!1){e==null&&Array.isArray(s)?s.forEach(r=>this.remove(r,null,t)):s==null||e==null&&Fe(s)?this.removeAllListeners():e==null&&es(s)?Ct(this.namedListeners.get(s)):s instanceof rs?s.isRemoved||(s.refCount-=1,s.refCount<1&&(s.isRemoved=!0,this.namedListeners.forEach(r=>Jt(r,s)),Jt(this.catchEmAllListeners,s))):t?Fe(s)&&typeof s=="object"?Ie(this.catchEmAllListeners,te,s):this.namedListeners.forEach(r=>Ie(r,s,e)):(this.namedListeners.forEach(r=>{St(r,s,e),typeof s=="object"&&Ie(r,void 0,s)}),St(this.catchEmAllListeners,s,e),typeof s=="object"&&Ie(this.catchEmAllListeners,void 0,s))}removeAllListeners(){this.namedListeners.forEach(s=>Ct(s)),this.namedListeners.clear(),Ct(this.catchEmAllListeners)}forEach(s,e){let t=Yt(this.catchEmAllListeners),r=Yt(this.namedListeners.get(s));if(s===te||!r||r.length===0)t.forEach(e);else if(t.length===0)r.forEach(e);else{let i=r.length,n=t.length,o=0,l=0;for(;o<i||l<n;){if(o<i){let a=r[o];if(l>=n||a.priority>=t[l].priority){e(a),++o;continue}}l<n&&(e(t[l]),++l)}}}getSubscriptionCount(){let s=this.catchEmAllListeners.length;for(let e of this.namedListeners.values())s+=e.length;return s}},se=s=>!!(s&&s[z]);function ve(s){if(se(s))return s;let e=new or,t=new ss;return Qs(s,z,{keeper:t,store:e}),s}var V={Max:Number.POSITIVE_INFINITY,AAA:1e9,BB:1e6,C:1e3,Default:0,Low:-1e4,Min:Number.NEGATIVE_INFINITY},ar=(s,e,t,r,i,n,o)=>{let l=s.add(new rs(t,r,i,n));return e.emit(t,l,o),l},hr=(s,e,t,r)=>{let i=t.length,n=typeof t[0],o,l,a,f;if(i>=2&&i<=3&&n==="number"?(o=te,[l,a,f]=t):i>=3&&i<=4&&typeof t[1]=="number"?[o,l,a,f]=t:(l=V.Default,n==="string"||n==="symbol"||Array.isArray(t[0])?[o,a,f]=t:(o=te,[a,f]=t)),!a&&ts)throw Ks("called with insufficient arguments!",t),"subscribeTo() called with insufficient arguments!";let w=v=>u=>ar(s,e,u,v,a,f,r);return Array.isArray(o)?o.map(v=>Array.isArray(v)?w(v[1])(v[0]):w(l)(v)):w(l)(o)},is=(s,e,t)=>{let r=[],i=hr(s,e,t,r);return ss.publish(r),i},Xt=s=>e=>{e.callAfterApply=()=>{s?.()}},ns=(s,e)=>Object.assign(()=>E(s,e),Array.isArray(e)?{listeners:e}:{listener:e}),os=(s,e,t,r)=>{let{store:i,keeper:n}=s[z];Array.isArray(e)?e.forEach(o=>{i.forEach(o,l=>l.apply(o,t,r)),n.retain(o,t)}):e!==te&&(i.forEach(e,o=>{o.apply(e,t,r)}),n.retain(e,t))},m=(s,...e)=>{let t=ve(s),{store:r,keeper:i}=t[z];return ns(t,is(r,i,e))},S=(s,...e)=>{let t=ve(s),{store:r,keeper:i}=t[z],n=is(r,i,e),o=ns(t,n),l=!1,a=()=>{l||(o(),l=!0)};return Array.isArray(n)?n.forEach(Xt(a)):Xt(a)(n),a},le=(s,e)=>new Promise(t=>{S(s,e,t)}),E=(s,e,t)=>{if(!se(s))throw new Error("object is not eventized");let{store:r,keeper:i}=s[z],n=typeof e,o=t!=null&&(n==="string"||n==="symbol");r.remove(e,t,o),Array.isArray(e)?i.remove(e.filter(l=>typeof l=="string")):es(e)&&i.remove(e)},y=(s,e,...t)=>{if(!se(s))throw new Error("object is not eventized");os(s,e,t)},lr=(s,e,...t)=>{if(!se(s))throw new Error("object is not eventized");let r=[];return os(s,e,t,i=>{r.push(i)}),r=r.map(i=>Array.isArray(i)?Promise.all(i):Promise.resolve(i)),r.length>0?Promise.all(r):Promise.resolve()},U=(s,e)=>{let t=ve(s),{keeper:r}=t[z];r.add(e)},Q=(s,e)=>{if(!se(s))throw new Error("object is not eventized");let{keeper:t}=s[z];t.clear(e)},x=(()=>{let s=(e={})=>ve(e);return s.inject=(e={})=>(e=ve(e),Object.assign(e,{on:(...t)=>m(e,...t),once:(...t)=>S(e,...t),onceAsync:t=>le(e,t),off:(t,r)=>E(e,t,r),emit:(t,...r)=>y(e,t,...r),emitAsync:(t,...r)=>lr(e,t,...r),retain:t=>U(e,t),retainClear:t=>Q(e,t)}),e),s.is=se,s})();var At=s=>se(s)?s[z]?.store?.getSubscriptionCount()??0:0;var $=Symbol.for("signal"),ue=Symbol.for("effect"),as=Symbol.for("destroySignal"),hs=Symbol.for("createEffect"),ur=Symbol.for("destroyEffect"),ce="value",Rt="mute",Mt="unmute",de="destroy",we=Symbol.for("recall"),Ce=x(),ne=x(),re=x(),us=x(),ie=class{static current;delayedEffects=[];batch(e,t){let r=this.delayedEffects.length;for(let i=0;i<r;i++){let[n,o]=this.delayedEffects[i];if(!(n>t))if(n===t){o.add(e);return}else{this.delayedEffects.splice(i,0,[t,new Set([e])]);return}}this.delayedEffects.push([t,new Set([e])])}flush(){this.run(),this.delayedEffects.length=0}run(){let e=new Set,t=[m(re,(i,n)=>{n===we&&e.add(i)}),m(us,i=>{e.add(i)})],r=this.delayedEffects.flatMap(([,i])=>Array.from(i));for(let i of r)e.has(i)||y(re,i,i,we);t.forEach(i=>{i()})}},cs=()=>ie.current;function P(s){let e=ie.current;e?e=void 0:e=ie.current=new ie;try{s()}finally{e&&(ie.current=void 0,e.run())}}var Ot=0;function qe(s){Ot++;try{s()}finally{Ot--}}function Lt(){return Ot>0}var ze=class{[ue];constructor(e){this[ue]=e,S(e,Ue.Destroy,()=>{this[ue]=void 0})}run=()=>this[ue]?.run();destroy=()=>{this[ue]?.destroy(),this[ue]=void 0}},Y=new Map,B=class s{#e=new Set;#t=new Set;#s=new Map;#i=new WeakMap;#r=new Map;#n=new Set;#o=new Set;#a;#h;static get(e){if(e!=null)return e instanceof s?e:Y.get(e)}static findOrCreate(e){if(e==null)throw new Error("Cannot create a group with a null object");return new s(e)}static destroy(e){console.warn("SignalGroup.destroy(obj) is deprecated. Use SignalGroup.delete(obj) instead."),s.delete(e)}static delete(e){Y.get(e)?.clear()}static clear(){for(let e of Y.values())e.clear();Y.clear()}constructor(e){if(e!=null&&e instanceof s)return e;if(e??=this,Y.has(e))return Y.get(e);this.#h=e,Y.set(e,this),x(this)}attachGroup(e){if(e===this)throw new Error("Cannot attach a group to itself");return this.#e.add(e),e.#a&&e.#a!==this&&e.#a.#e.delete(e),e.#a=this,e}detachGroup(e){return e!==this&&this.#e.has(e)&&(this.#e.delete(e),e.#a=void 0),e}attachSignal(e){let t=k(e);if(t?.destroyed)throw new Error("Cannot attach a destroyed signal to a group");return t&&this.#t.add(t),e}attachSignalByName(e,t){if(t){this.attachSignal(t);let r=k(t);this.#s.set(e,r),this.#r.has(e)?this.#r.get(e).push(r):this.#r.set(e,[r]),this.#i.has(r)?this.#i.get(r).add(e):this.#i.set(r,new Set([e]))}else this.#s.delete(e);return t}hasSignal(e){return this.#s.has(e)||!!this.#a?.hasSignal(e)}signal(e){return this.#s.get(e)?.object??this.#a?.signal(e)}detachSignal(e){let t=k(e);if(t&&(this.#t.delete(t),this.#i.has(t))){let r=this.#i.get(t);for(let i of r)if(this.#r.has(i)){let n=this.#r.get(i);n.splice(n.indexOf(t),1),n.length===0?(this.#s.delete(i),this.#r.delete(i)):this.#s.get(i)===t&&this.#s.set(i,n.at(-1))}r.clear(),this.#i.delete(t)}return e}attachEffect(e){return this.#n.add(e),e}runEffects(){for(let e of this.#n)e.run();for(let e of this.#e)e.runEffects()}attachLink(e){if(e?.isDestroyed)throw new Error("Cannot attach a destroyed link to a group");return e&&this.#o.add(e),e}detachLink(e){return e&&this.#o.delete(e),e}destroy(){console.warn("SignalGroup#destroy is deprecated. Use SignalGroup#clear instead."),this.clear()}clear(){y(this,de,this),E(this);for(let e of this.#e)e.clear();for(let e of this.#n)e.destroy();for(let e of this.#t)O(e);for(let e of this.#o)e.destroy();this.#e.clear(),this.#t.clear(),this.#s.clear(),this.#r.clear(),this.#n.clear(),this.#o.clear(),this.#a?.detachGroup(this),this.#h&&(Y.delete(this.#h),this.#h=void 0)}},Ve=class{#e;#t;constructor(e="id",t=1){this.#e=e,this.#t=t}make(){return Symbol(`${this.#e}${this.#t++}`)}},Tt=[],ds=()=>Tt.at(-1),cr=(s,e)=>{Tt.push(s);try{return e()}finally{Tt.pop()}};var dr=s=>s!=null&&typeof s.then=="function",Ue=class s{static idGen=new Ve("ef");static Destroy="destroy";static count=0;id;callback;#e;#t=new Set;#s=new Set;#i=new Map;#r=new Set;parentEffect;childEffects=[];curChildEffectSlot=0;autorun=!0;shouldRun=!0;priority;#n;#o=!1;constructor(e,t){x(this),this.callback=e;let r;t?.attach!=null&&(r=B.findOrCreate(t.attach),r.attachEffect(this)),this.autorun=t?.autorun??!0,this.#n=t?.dependencies?t.dependencies.map(i=>{switch(typeof i){case"string":case"symbol":return r.signal(i);default:return i}}):void 0,this.id=s.idGen.make(),this.priority=t?.priority??0,m(re,this.id,we,this),++s.count}hasStaticDeps(){return this.#n!=null&&this.#n.length>0}saveSignalsFromDeps(){for(let e of this.#n)this.whenSignalIsRead(k(e).id)}static createEffect(e,t,r){let i=Array.isArray(t)?t:void 0,n=i?r??{dependencies:i}:t;n&&i&&(n.dependencies=i);let o,l=ds();return l!=null?(o=l.getCurrentChildEffect(),o==null&&(o=new s(e,n),l.attachChildEffect(o),y(re,hs,o)),l.curChildEffectSlot++):(o=new s(e,n),y(re,hs,o)),o.hasStaticDeps()?o.saveSignalsFromDeps():o.autorun&&o.run(),new ze(o)}getCurrentChildEffect(){return this.childEffects[this.curChildEffectSlot]}attachChildEffect(e){this.childEffects.push(e),this.parentEffect=this}run=()=>{if(this.#o||!this.shouldRun)return;let e=cs();e?e.batch(this.id,this.priority):(this.runCleanupCallback(),this.destroyChildEffects(),this.curChildEffectSlot=0,this.shouldRun=!1,y(us,this.id,this.id),this.hasStaticDeps()?this.#e=this.callback():(this.#s=new Set(this.#t),this.#e=cr(this,this.callback),this.cleanupLostSignals(),this.#r.clear()))};[we](){this.shouldRun=!0,this.autorun&&this.run()}whenSignalIsRead(e){this.#s.delete(e),this.#t.has(e)||(this.#t.add(e),this.#i.set(e,[m(Ce,e,this.priority,we,this),S(ne,e,as,this)]))}[as](e){!this.#r.has(e)&&this.#t.has(e)&&(this.#r.add(e),this.unsubscribeSignal(e),this.#r.size===this.#t.size&&this.destroy())}cleanupLostSignals(){for(let e of this.#s)this.unsubscribeSignal(e),this.#t.delete(e)}destroyChildEffects(){for(let e of this.childEffects)e.destroy();this.childEffects.length=0}unsubscribeSignal(e){this.#i.has(e)&&(this.#i.get(e).forEach(t=>{t()}),this.#i.delete(e))}runCleanupCallback(){if(this.#e!=null){let e=this.#e;this.#e=void 0,dr(e)?Promise.resolve(e).then(t=>{typeof t=="function"&&t()}):e()}}destroy=()=>{this.#o||(y(this,s.Destroy,this),E(this),y(re,ur,this),this.runCleanupCallback(),this.destroyChildEffects(),E(Ce,this),E(re,this),E(ne,this),this.#o=!0,this.#t.clear(),this.#s.clear(),this.#i.clear(),this.#r.clear(),--s.count)}},C=(...s)=>Ue.createEffect(...s);var Ee=new WeakMap,fr=s=>{let e=Ee.get(s);return e||(e={},Ee.set(s,e)),e},_=(s,e)=>Ee.get(s)?.signals?.get(e);var fs=(s,e,t)=>{let r=fr(s);r.signals??=new Map,r.signals.set(e,t)};function Se(...s){for(let e of s)if(Ee.has(e)){let t=Ee.get(e);if(t.signals){for(let r of t.signals.values())O(r);t.signals.clear(),t.signals=void 0}}}function ps(s){let e=k(oe(s)?s:_(...s));e!=null&&!e.muted&&!e.destroyed&&Pt(e.id,e.value,{touch:!0})}function fe(s){return oe(s)?k(s)?.value:k(_(...s))?.value}var Be=class{[$];constructor(e){this[$]=e}get get(){return this[$].reader}get set(){return this[$].writer}get value(){return fe(this.get)}set value(e){this.set(e)}onChange(e){let{destroy:t}=C(()=>e(this.value),[this.get]);return t}get muted(){return this[$].muted}set muted(e){this[$].muted=e}touch(){ps(this)}destroy(){O(this)}},pr=new Ve("si");function ls(s){Lt()||ds()?.whenSignalIsRead(s)}function Pt(s,e,t){Lt()||y(Ce,s,e,t)}var oe=s=>s!=null&&s[$]!=null,gr=s=>{let e=t=>(t?C(()=>(s.destroyed||ls(s.id),t(s.value)),[e]):s.destroyed||(s.beforeRead?.(),ls(s.id)),s.value);return Object.defineProperty(e,$,{value:s}),e},Ge=class s{static instanceCount=0;id;lazy;get[$](){return this}compare;beforeRead;muted=!1;destroyed=!1;#e=void 0;get value(){return this.lazy&&(this.#e=this.valueFn(),this.valueFn=void 0,this.lazy=!1),this.#e}set value(e){this.#e=e}valueFn;reader;writer=(e,t)=>{let r=t?.lazy??!1,n=t?.compare??this.compare??((l,a)=>l===a);if((r!==this.lazy||r&&e!==this.valueFn||!r&&!n(e,this.#e))&&(r?(this.#e=void 0,this.valueFn=e,this.lazy=!0):(this.#e=e,this.valueFn=void 0,this.lazy=!1),!this.muted&&!this.destroyed)){Pt(this.id,this.#e);return}(t?.touch??!1)&&Pt(this.id,this.#e,{touch:!0})};object;constructor(e,t){this.id=pr.make(),++s.instanceCount,this.lazy=e,this.lazy?(this.value=void 0,this.valueFn=t):(this.value=t,this.valueFn=void 0),this.reader=gr(this),this.object=new Be(this)}},k=s=>s?.[$];function p(s=void 0,e){let t;if(oe(s))t=k(s);else{let r=e?.lazy??!1;t=new Ge(r,s),t.beforeRead=e?.beforeRead,t.compare=e?.compare}return e?.attach!=null&&B.findOrCreate(e.attach).attachSignal(t),t.object}var O=(...s)=>{for(let e of s){let t=k(e);t!=null&&!t.destroyed&&(t.destroyed=!0,t.beforeRead=void 0,--Ge.instanceCount,y(ne,t.id,t.id))}};function He(s,e){let t=p(),r=e?.attach!=null?B.findOrCreate(e.attach):void 0;r!=null&&(e?.name?r.attachSignalByName(e.name,t):r.attachSignal(t));let i=C(()=>{P(()=>{t.set(s())})},{autorun:!(e?.lazy??!1),priority:e?.priority??V.C,attach:r}),n=k(t);return n.beforeRead=i.run,S(ne,n.id,i.destroy),t.get}var Qe=class{#e=!1;#t;source;lastValue;isDestroyed=!1;constructor(e){x(this),this.source=k(e),this.#t=m(Ce,this.source.id,(t,r)=>{!this.#e&&!this.isDestroyed&&(r?.touch===!0?this.touch():this.write())}),S(ne,this.source.id,()=>this.destroy())}attach(e){let t=B.findOrCreate(e);return t.attachLink(this),S(this,de,()=>{t.detachLink(this)}),t}nextValue(){return new Promise((e,t)=>{let r=[],i=()=>r.forEach(n=>{n()});r.push(S(this,ce,n=>{i(),e(n)}),S(this,de,()=>{i(),t()}))})}async*asyncValues(e){U(this,ce);try{let t=0;for(;!this.isDestroyed;)try{let r=await this.nextValue();if(e&&e(r,t++))break;yield r}catch{break}}finally{Q(this,ce)}}destroy(){this.isDestroyed||(this.#t?.(),this.#t=void 0,y(this,de,this),Q(this,ce),E(this),this.lastValue=void 0,this.isDestroyed=!0,Object.freeze(this))}get isMuted(){return this.#e}mute(){return!this.isDestroyed&&!this.#e&&(this.#e=!0,y(this,Rt,this)),this}unmute(){return!this.isDestroyed&&this.#e&&(this.#e=!1,y(this,Mt,this)),this}toggleMute(){return this.isDestroyed||(this.#e=!this.#e,y(this,this.#e?Rt:Mt,this)),this.#e}updateValue(e){if(!this.#e&&!this.isDestroyed){let{value:t}=this.source;e(t),y(this,ce,t),this.lastValue=t}}},jt=class extends Qe{target;constructor(e,t){super(e),this.target=k(t),S(ne,this.target.id,()=>this.destroy()),this.touch()}touch(){return this.updateValue(e=>{this.target.writer(e,{touch:!0})}),this}write(){this.updateValue(e=>{this.target.writer(e)})}},Dt=class extends Qe{target;constructor(e,t){super(e),this.target=t,this.touch()}touch(){return this.updateValue(e=>{this.target(e)}),this}write(){this.updateValue(e=>{this.target(e)})}},Ke=new Map;function R(s,e,t){let r=k(s),i;if(Ke.has(r)){i=Ke.get(r);let f=k(e)??e;if(i.has(f))return i.get(f)}else i=new Map,Ke.set(r,i);let n=k(e),o=n!=null?new jt(s,n):new Dt(s,e),l=t?.attach;l&&o.attach(l);let a=n??e;return i.set(a,o),S(o,de,()=>{i.delete(a),i.size===0&&Ke.delete(r)}),o}var Ye=class s{static fromProps(e,t){let r=new s,i=t?t.map(n=>[n,e[n]]):Object.entries(e);for(let[n,o]of i)r.#e.set(n,p(o));return r}#e=new Map;keys(){return this.#e.keys()}signals(){return this.#e.values()}entries(){return this.#e.entries()}clear(){for(let e of this.#e.values())e.destroy();this.#e.clear()}has(e){return this.#e.has(e)}get(e){if(!this.#e.has(e)){let t=p();return this.#e.set(e,t),t}return this.#e.get(e)}update(e){e.size&&P(()=>{for(let[t,r]of e.entries())this.get(t).set(r)})}updateFromProps(e,t){P(()=>{let r=t?t.map(i=>[i,e[i]]):Object.entries(e);for(let[i,n]of r)this.get(i).set(n)})}};var W;(function(s){s[s.StructuralChanges=1]="StructuralChanges",s[s.ContentUpdates=2]="ContentUpdates",s[s.Removal=3]="Removal"})(W||(W={}));var b;(function(s){s[s.CreateEntities=1]="CreateEntities",s[s.DestroyEntities=2]="DestroyEntities",s[s.SetParent=3]="SetParent",s[s.UpdateOrder=4]="UpdateOrder",s[s.ChangeProperties=5]="ChangeProperties",s[s.ChangeToken=6]="ChangeToken",s[s.SendEvents=7]="SendEvents"})(b||(b={}));var ae=Symbol.for("ShadowEntsGlobalNS"),G="#void",gs="contextLost",ys="configure",ms="changeTrail",bs="destroy",vs="loaded",ws="appliedChangeTrail",Cs="importedModule",Es="destroyed",pe="messageToView",Ss=6e4,xs=6e4,ks=5e3,As=5e3,_t="shadowObjects";function Os(s,e){s.indexOf(e)===-1&&s.push(e)}function Nt(s,e){let t=s.indexOf(e);t!==-1&&s.splice(t,1),s.push(e)}function J(s,e){let t=s.indexOf(e);t!==-1&&s.splice(t,1)}var he=s=>typeof s=="string"?s.trim()||ae:typeof s=="symbol"?s:ae;var xe="#root",ke=class{#e;get uuid(){return this.#e}#t=0;constructor(e){this.#e=e}#s=!0;#i=0;#r=0;hasChanges(){return this.#t>0}get isNew(){return this.#s}get isCreated(){return this.#i>0&&this.#i>this.#r}get isDestroyed(){return this.#r>0&&this.#r>=this.#i}#n=G;#o;#a=0;#h;#l;#u;create(e=G,t,r=0){this.#t++,this.#i++,this.#h=e,this.#l=t??xe,this.#u=r||void 0}destroy(){this.#r++,this.#t++}clear(){this.#t=0,this.#s=!1,this.#h=void 0,this.#l=void 0,this.#u=void 0,this.#d.clear(),this.#f.length=0,this.#g.length=0,this.#p.clear()}changeToken(e){e===this.#n?this.#h=void 0:(this.#h=e,this.#t++)}setParent(e){e===this.#o?this.#l=void 0:(this.#l=e??xe,this.#t++)}changeOrder(e){e===this.#a?this.#u=void 0:(this.#u=e,this.#t++)}#c=new Map;#d=new Map;#f=[];changeProperty(e,t,r){let i=this.#c.get(e);r==null&&t!==i||r!=null&&!r(t,i)?(this.#d.set(e,t),Nt(this.#f,e),this.#t++):(this.#d.delete(e),J(this.#f,e))}removeProperty(e){let t=this.#c.has(e);this.#d.has(e)?(this.#d.delete(e),t||J(this.#f,e)):t&&(Nt(this.#f,e),this.#t++)}#g=[];#p=new Set;createEvent(e,t,r){this.#g.push({type:e,data:t}),r?.forEach(i=>this.#p.add(i)),this.#t++}transferEventsTo(e){this.#g.length>0&&(e.#g.push(...this.#g),this.#g.length=0),this.#p.size>0&&(e.#p=new Set([...e.#p,...this.#p]),this.#p.clear())}buildChangeTrail(e,t){let{isNew:r,isCreated:i,isDestroyed:n}=this;if(!(r&&n))switch(t){case W.StructuralChanges:r?e.push(this.makeCreateEntityChange()):n||(this.#l!==void 0&&!(this.#l===xe&&this.#o===void 0)?e.push(this.makeSetParentChange()):this.#u!==void 0&&this.#u!==this.#a&&e.push(this.makeUpdateOrderChange()),this.#h!==void 0&&this.#h!==this.#n&&e.push(this.makeChangeToken()));break;case W.ContentUpdates:!r&&i&&this.#f.length>0&&e.push(this.makeChangePropertyChange()),this.#g.length>0&&e.push(this.makeEvents());break;case W.Removal:n&&e.push(this.makeDestroyEntityChange());break}}makeEvents(){let e={type:b.SendEvents,uuid:this.#e,events:this.#g.slice(0)};return this.#p.size>0&&(e.transferables=Array.from(this.#p)),e}makeCreateEntityChange(){let e={type:b.CreateEntities,uuid:this.#e,token:this.#h};if(this.#n=this.#h,this.#l!==void 0){let t=this.#l===xe?void 0:this.#l;this.#o=t,t!==void 0&&(e.parentUuid=t)}return this.#d.size>0&&(e.properties=Array.from(this.#d.entries()).filter(([,t])=>t!==void 0),e.properties.forEach(([t,r])=>this.#c.set(t,r))),this.#u!==void 0&&this.#u!==this.#a&&(e.order=this.#a=this.#u),e}makeDestroyEntityChange(){return{type:b.DestroyEntities,uuid:this.#e}}makeSetParentChange(){this.#o=this.#l===xe?void 0:this.#l;let e={type:b.SetParent,uuid:this.#e,parentUuid:this.#o};return this.#u!==void 0&&this.#u!==this.#a&&(e.order=this.#a=this.#u),e}makeUpdateOrderChange(){return this.#a=this.#u??0,{type:b.UpdateOrder,uuid:this.#e,order:this.#a}}makeChangeToken(){return this.#n=this.#h??G,{type:b.ChangeToken,uuid:this.#e,token:this.#n}}makeChangePropertyChange(){let e=this.#f.map(t=>{if(this.#d.has(t)){let r=this.#d.get(t);return this.#c.set(t,r),[t,r]}else return this.#c.delete(t),[t,void 0]});return{type:b.ChangeProperties,uuid:this.#e,properties:e}}};var Ts=s=>{if(!(s===void 0||s.length===0))return s.filter(e=>e.length===1||e[1]!==void 0)},$t=(s,e)=>{if(s===e||e===void 0)return s;if(s===void 0)return Ts(e);for(let[t,r]of e){let i=s.find(([n])=>n===t);i===void 0?s.push([t,r]):i[1]=r}return Ts(s)};var Je=class{#e=new Map;get[Symbol.iterator](){return this.#e.entries.bind(this.#e)}clear(){this.#e.clear()}isEmpty(){return this.#e.size===0}hasComponentState(e){return this.#e.has(e)}getComponentState(e){return this.#e.get(e)}write(e){for(let t of e)if(t.type===b.CreateEntities)this.createEntity(t);else if(this.#e.has(t.uuid))switch(t.type){case b.DestroyEntities:this.destroyEntity(t);break;case b.SetParent:this.setParent(t);break;case b.UpdateOrder:this.updateOrder(t);break;case b.ChangeToken:this.changeToken(t);break;case b.ChangeProperties:this.changeProperties(t);break}}changeProperties({uuid:e,properties:t}){let r=this.getComponentState(e);r.properties=$t(r.properties,t)}changeToken({uuid:e,token:t}){this.getComponentState(e).token=t||G}updateOrder({uuid:e,order:t}){this.getComponentState(e).order=t??0}setParent({uuid:e,parentUuid:t,order:r}){let i=this.getComponentState(e);i.parentUuid=t,i.order=r??0}destroyEntity({uuid:e}){this.#e.delete(e)}createEntity({uuid:e,token:t,parentUuid:r,order:i,properties:n}){this.#e.set(e,{token:t||G,parentUuid:r,order:i??0,properties:$t(void 0,n)})}};var M=class s{static{this.ReRequestParentRoots="re-request-parent-roots"}static getContextsMap(){return globalThis.__shadowEntsContexts==null&&(globalThis.__shadowEntsContexts=new Map),globalThis.__shadowEntsContexts}static get(e){let t=he(e),r=s.getContextsMap();return r.has(t)?r.get(t):new s(t)}#e=new Map;#t=[];#s=new Je;constructor(e=ae){let t=he(e),r=s.getContextsMap();if(r.has(t))return r.get(t);this.ns=t,r.set(t,this)}addComponent(e){let t;this.#e.has(e.uuid)?(t=this.#e.get(e.uuid),t.component=e,t.children=[]):(t={component:e,children:[],changes:new ke(e.uuid),propIsEqual:void 0},this.#e.set(e.uuid,t)),t.changes.create(e.token,e.parent?.uuid,e.order),e.parent?(this.addToChildren(e.parent,e),t.changes.setParent(e.parent.uuid)):this.#n(e,this.#t),this.#o=void 0}hasComponent(e){return this.#e.has(e.uuid)}hasComponents(){return this.#e.size>0}isRootComponent(e){return this.#t.includes(e.uuid)}destroyComponent(e){if(this.hasComponent(e)){let t=this.#e.get(e.uuid);t.children.slice(0).forEach(r=>this.#e.get(r)?.component.removeFromParent()),t.changes.destroy(),this.#o=void 0}}getChildren(e){return this.#e.get(e.uuid)?.children.map(t=>this.#e.get(t).component)??[]}removeFromParent(e,t){if(this.hasComponent(t)){let r=this.#e.get(e),i=this.#e.get(t.uuid),n=i.children.indexOf(e);n!==-1&&(i.children.splice(n,1),r.changes.setParent(void 0)),this.#n(r.component,this.#t),this.#o=void 0}}moveToRoot(e){let t=this.#e.get(e);t&&(t.changes?.setParent(void 0),this.#n(t.component,this.#t)),this.#o=void 0}changeToken(e,t){this.#e.get(e.uuid)?.changes.changeToken(t)}isChildOf(e,t){return this.hasComponent(t)?this.#e.get(t.uuid).children.includes(e.uuid):!1}addToChildren(e,t){let r=this.#e.get(e.uuid);if(r)this.#n(t,r.children),this.#e.get(t.uuid)?.changes.setParent(e.uuid),J(this.#t,t.uuid),this.#o=void 0;else throw new Error(`the view component ${e.uuid} cannot have a child added to it because the component do not exist!`)}removeSubTree(e){let t=this.#e.get(e);t&&(t.children.slice(0).forEach(r=>this.removeSubTree(r)),this.destroyComponent(t.component),this.#i(e))}setProperty(e,t,r,i){let n=this.#e.get(e.uuid);return n!=null?(i!=null?(n.propIsEqual??=new Map,n.propIsEqual.set(t,i)):n.propIsEqual?.has(t)&&n.propIsEqual.delete(t),n.changes.changeProperty(t,r,i)):!1}removeProperty(e,t){this.#e.get(e.uuid)?.changes.removeProperty(t)}changeOrder(e){if(e.parent){let t=this.#e.get(e.parent.uuid);J(t.children,e.uuid),this.#n(e,t.children)}else J(this.#t,e.uuid),this.#n(e,this.#t);this.#e.get(e.uuid)?.changes.changeOrder(e.order),this.#o=void 0}traverseLevelOrderBFS(){return this.#a().map(e=>e.component)}dispatchShadowObjectsEvent(e,t,r,i){this.#e.get(e.uuid)?.changes.createEvent(t,r,i)}broadcastEvent(e,t=void 0){for(let r of this.traverseLevelOrderBFS())r.dispatchEvent(e,t,!1)}dispatchMessage(e,t,r=void 0,i=!1){this.#e.get(e)?.component.dispatchEvent(t,r,i)}dispatchReRequestParentRoots(){for(let e of this.#t)this.dispatchMessage(e,s.ReRequestParentRoots)}buildChangeTrails(e=!0){let t=[];if(!this.hasComponents())return t;let r=this.#r();for(let i of r)i.buildChangeTrail(t,W.StructuralChanges);for(let i of r)i.buildChangeTrail(t,W.ContentUpdates);for(let i of r)i.buildChangeTrail(t,W.Removal),(i.isDestroyed||i.isNew&&!i.isCreated)&&this.#i(i.uuid),e&&i.clear();return this.#s.write(t),t}reCreateChanges(){if(!this.#s.isEmpty()){this.buildChangeTrails(!1);for(let[e,t]of this.#s){let r=this.#e.get(e);if(r){let i=new ke(e);if(i.create(t.token,t.parentUuid,t.order),t.properties)for(let[n,o]of t.properties)i.changeProperty(n,o,r.propIsEqual?.get(n));r.changes.transferEventsTo(i),r.changes.clear(),r.changes=i}}this.#s.clear(),this.broadcastEvent(gs)}}clear(){if(this.#o=void 0,this.#s.clear(),this.#t.slice(0).forEach(e=>this.removeSubTree(e)),this.#t.length!==0)throw new Error("component-context panic: #rootComponents is not empty!");if(this.#e.size!==0)throw new Error("component-context panic: #components is not empty!")}#i(e){this.#e.has(e)&&(this.#e.delete(e),J(this.#t,e),this.#o=void 0)}#r(){return this.#a().filter(e=>e.changes.hasChanges()).map(e=>e.changes)}#n(e,t){if(t.length===0){t.push(e.uuid);return}if(t.includes(e.uuid))return;let r=t.length,i=new Array(r);if(i[0]=this.#e.get(t[0]).component,e.order<i[0].order){t.unshift(e.uuid);return}if(r===1){t.push(e.uuid);return}let n=r-1;if(i[n]=this.#e.get(t[n]).component,e.order>=i[n].order){t.push(e.uuid);return}if(r===2){t.splice(1,0,e.uuid);return}for(let o=n-1;o>=1;o--)if(i[o]=this.#e.get(t[o]).component,e.order>=i[o].order){t.splice(o+1,0,e.uuid);return}}#o;#a(){if(this.#o)return this.#o;let e=new Map,t=(r,i)=>{let n=this.#e.get(r);if(n!=null){e.has(i)?e.get(i).push(n):e.set(i,[n]);for(let o of n.children)t(o,i+1)}};return this.#t.forEach(r=>t(r,0)),this.#o=Array.from(e.entries()).sort((r,i)=>r[0]-i[0]).map(([,r])=>r).flat(),this.#o}};function Ae(s,e,t,r,i,n){function o(D){if(D!==void 0&&typeof D!="function")throw new TypeError("Function expected");return D}for(var l=r.kind,a=l==="getter"?"get":l==="setter"?"set":"value",f=!e&&s?r.static?s:s.prototype:null,w=e||(f?Object.getOwnPropertyDescriptor(f,r.name):{}),v,u=!1,h=t.length-1;h>=0;h--){var c={};for(var d in r)c[d]=d==="access"?{}:r[d];for(var d in r.access)c.access[d]=r.access[d];c.addInitializer=function(D){if(u)throw new TypeError("Cannot add initializers after decoration has completed");n.push(o(D||null))};var g=(0,t[h])(l==="accessor"?{get:w.get,set:w.set}:w[a],c);if(l==="accessor"){if(g===void 0)continue;if(g===null||typeof g!="object")throw new TypeError("Object expected");(v=o(g.get))&&(w.get=v),(v=o(g.set))&&(w.set=v),(v=o(g.init))&&i.unshift(v)}else(v=o(g))&&(l==="field"?i.unshift(v):w[a]=v)}f&&Object.defineProperty(f,r.name,w),u=!0}function X(s,e,t){for(var r=arguments.length>2,i=0;i<e.length;i++)t=r?e[i].call(s,t):e[i].call(s);return r?t:void 0}function Oe(s){return function(e,t){let r=s?.name||t.name,i=!!(s?.readAsValue??!1);return{get(){let n=_(this,r);if(n)return i?n.value:n.get()},set(n){_(this,r)?.set(n)},init(n){let o=p(n,s);return fs(this,r,o),B.findOrCreate(this).attachSignalByName(r,o),o.value}}}}var j="ConsoleLogger",L=`${j}Storage`,yr=!!(globalThis.location?.host?.startsWith("localhost")??!1),Pe="localStorage"in globalThis,Xe=Symbol.for(j),Ps=!1,Rs=s=>{if(typeof s=="boolean")return s;switch(s.toLowerCase()){case"true":case"yes":case"on":return!0;default:return!1}},It=s=>[Pe?j:void 0,...Array.isArray(s)?s:[s]].filter(Boolean).join(".");function Wt(s,e=void 0,t){let r=It(s),i=Pe?localStorage.getItem(r):globalThis[L]?.[r];return i!=null?e(i):t}function Te(s,e){Pe?localStorage.setItem(It(s),e):(globalThis[L]==null&&(globalThis[L]={},console.debug(`${j}: Initialize`,{[L]:globalThis[L]})),globalThis[L][It(s)]=e)}var T=class s{static{this.sharedConfig={enable:yr,debug:!1,info:!0,warn:!0,"styles.debug":"color: #111; background: #999; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.info":"color: #020; background: #8a8; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.warn":"color: #fa0; background: #a98; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.error":"color: #ff0; background: #a00; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em"}}static get isEnabled(){return s.sharedConfig.enable}static get isDebug(){return s.sharedConfig.enable&&s.sharedConfig.debug}static{this.sharedStyles={get debug(){return s.sharedConfig["styles.debug"]},set debug(e){s.sharedConfig["styles.debug"]=e},get info(){return s.sharedConfig["styles.info"]},set info(e){s.sharedConfig["styles.info"]=e},get warn(){return s.sharedConfig["styles.warn"]},set warn(e){s.sharedConfig["styles.warn"]=e},get error(){return s.sharedConfig["styles.error"]},set error(e){s.sharedConfig["styles.error"]=e}}}static loadConfig(){Pe?(["enable","debug","info","warn"].forEach(e=>{this.sharedConfig[e]=Wt(e,Rs,this.sharedConfig[e])}),["debug","info","warn","error"].forEach(e=>{this.sharedStyles[e]=Wt(["styles",e],void 0,this.sharedStyles[e])}),s.isDebug&&console.debug(`${j}: Load config from localStorage`,s.sharedConfig),globalThis[j]?.[Xe]||(globalThis[j]??={[Xe]:!0,get enable(){return s.sharedConfig.enable},set enable(e){s.sharedConfig.enable=e,Te("enable",e?"true":"false")},get debug(){return s.sharedConfig.debug},set debug(e){s.sharedConfig.debug=e,Te("debug",e?"true":"false")},get info(){return s.sharedConfig.info},set info(e){s.sharedConfig.info=e,Te("info",e?"true":"false")},get warn(){return s.sharedConfig.warn},set warn(e){s.sharedConfig.warn=e,Te("warn",e?"true":"false")}})):globalThis[L]?.[Xe]||(globalThis[L]={[Xe]:!0,...s.sharedConfig,...globalThis[L]},s.sharedConfig=globalThis[L],s.isDebug&&console.debug(`${j}: Load config from ${L}`,globalThis[L]))}constructor(e){this.enable=!0,this.namespace=(e||"").trim()||j,Ps||(s.loadConfig(),Ps=!0);let t=[this.namespace,"enable"];this.enable=Wt(t,Rs,this.enable),Te(t,Pe?this.enable?"true":"false":this.enable)}get isEnabled(){return this.enable&&s.sharedConfig.enable}get isDebug(){return this.isEnabled&&s.sharedConfig.debug}get isInfo(){return this.isEnabled&&s.sharedConfig.info}get isWarn(){return this.isEnabled&&s.sharedConfig.warn}debug(...e){this.#e("debug",s.sharedStyles.debug,e)}info(...e){this.#e("info",s.sharedStyles.info,e)}warn(...e){this.#e("warn",s.sharedStyles.warn,e)}error(...e){this.#e("error",s.sharedStyles.error,e)}#e(e,t,r){console[e](`%c${this.namespace}`,t,...r)}};var I=(()=>{var s;let e,t=[],r=[],i,n=[],o=[];return class q{static{let a=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;e=[Oe()],i=[Oe()],Ae(this,null,e,{kind:"accessor",name:"viewReady",static:!1,private:!1,access:{has:f=>"viewReady"in f,get:f=>f.viewReady,set:(f,w)=>{f.viewReady=w}},metadata:a},t,r),Ae(this,null,i,{kind:"accessor",name:"proxyReady",static:!1,private:!1,access:{has:f=>"proxyReady"in f,get:f=>f.proxyReady,set:(f,w)=>{f.proxyReady=w}},metadata:a},n,o),a&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})}static{this.AfterSync="afterSync"}static{this.ContextLost="contextLost"}static{this.ContextCreated="contextCreated"}static get(a){if(a!=null)return globalThis.__shadowEnvs?.get(a)}#e;#t;#s;#i;#r;#n;#o;get viewReady(){return this.#o}set viewReady(a){this.#o=a}#a;get proxyReady(){return this.#a}set proxyReady(a){this.#a=a}#h;get isDestroyed(){return this.#h}constructor(){this.#s=!1,this.#i=!1,this.#r=!1,this.logger=new T("ShadowEnv"),this.ns$=p(),this.#o=X(this,t,!1),this.#a=(X(this,r),X(this,n,!1)),this.#h=(X(this,o),!1),this.ready=async()=>this.isReady?this:le(this,q.ContextCreated),this.#l=()=>{this.#s&&this.#u()},U(this,q.ContextCreated),m(this,q.ContextLost,V.AAA,()=>{Q(this,q.ContextCreated)}),C(()=>{if(this.viewReady&&this.proxyReady)return this.view.reCreateChanges(),y(this,q.ContextCreated,this),this.#i&&(this.#i=!1,this.#u()),()=>{y(this,q.ContextLost,this)}},[_(this,"viewReady"),_(this,"proxyReady")])}get view(){return this.#e}set view(a){a!==this.#e&&(this.#e&&this.#e.ns&&globalThis.__shadowEnvs&&globalThis.__shadowEnvs.delete(this.#e.ns),this.#e=a??void 0,this.#e&&this.#e.ns&&(globalThis.__shadowEnvs??=new Map,globalThis.__shadowEnvs.has(this.#e.ns)&&globalThis.__shadowEnvs.get(this.#e.ns)!==this&&this.logger.isWarn&&this.logger.warn("overwrite a namespace already in use",this.#e.ns,globalThis.__shadowEnvs.get(this.#e.ns)),globalThis.__shadowEnvs.set(this.#e.ns,this)),this.viewReady=!!a)}get envProxy(){return this.#t}set envProxy(a){if(a!==this.#t){let f=this.#t;this.#t=a??void 0,this.#t&&(this.#t.onMessageToView=this.#c.bind(this)),f&&f.destroy(),this.proxyReady=!1,a?.start().then(()=>{this.proxyReady=!0}).catch(w=>{this.logger.error("failed to start envProxy",w),this.proxyReady=!1})}}get isReady(){return!!(this.#e&&this.#t&&this.proxyReady&&!this.isDestroyed)}sync(){if(!this.isReady){this.#i=!0;return}this.#s||(this.#s=!0,queueMicrotask(this.#l))}syncWait(){return this.#r=!0,this.sync(),this.#n?this.#n:(this.#n=le(this,q.AfterSync).then(a=>(this.#n=void 0,a)),this.#n)}destroy(){let a=this.#e?.ns;this.envProxy?.destroy(),this.envProxy=void 0,this.view=void 0,a&&globalThis.__shadowEnvs.has(a)&&globalThis.__shadowEnvs.get(a)===this&&globalThis.__shadowEnvs.delete(a),Se(this),E(this),this.#h=!0,Object.freeze(this)}#l;async#u(){if(this.#s=!1,this.isReady){let a=this.view.buildChangeTrails();if(a.length>0)try{let f=this.#r;this.#r=!1,await this.envProxy.applyChangeTrail(a,f)}catch(f){this.logger.error("failed to apply change trail",f)}finally{y(this,q.AfterSync,a)}}}#c(a){this.logger.isDebug&&this.logger.debug("onMessageToView",a.type,a.data),this.view?.dispatchMessage(a.uuid,a.type,a.data,a.traverseChildren)}}})();var A=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],mr=()=>{let s=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(A[s&255]+A[s>>8&255]+A[s>>16&255]+A[s>>24&255]+"-"+A[e&255]+A[e>>8&255]+"-"+A[e>>16&15|64]+A[e>>24&255]+"-"+A[t&63|128]+A[t>>8&255]+"-"+A[t>>16&255]+A[t>>24&255]+A[r&255]+A[r>>8&255]+A[r>>16&255]+A[r>>24&255]).toLowerCase()},Ms=()=>globalThis?.crypto?.randomUUID?.()??mr();var Re=class extends Error{constructor(e){super(e),this.name="ViewComponentError"}},Ze=class s{#e;#t;#s;#i;#r=0;get uuid(){return this.#e}get token(){return this.#t}set token(e){e??=G,e!==this.#t&&(this.#t=e,this.#s?.changeToken(this,e))}get parent(){return this.#i}set parent(e){if(e){if(e.#s!==this.#s)throw new Re("cannot set parent from different context");e.addChild(this)}else this.removeFromParent()}get context(){return this.#s}set context(e){this.#s!=e&&(this.#s&&this.destroy(),this.#s=e,e&&e.addComponent(this))}get order(){return this.#r}set order(e){let t=this.#r;this.#r=e??0,t!==this.#r&&this.#s.changeOrder(this)}constructor(e,t){x(this),t instanceof s&&(t={parent:t}),this.#e=t?.uuid??Ms(),this.#t=e,this.#r=t?.order??0,this.#i=t?.parent;let r=t?.context??M.get();if(this.#i&&this.#i.#s!==r)throw new Re("cannot set parent from different context");this.context=r}isChildOf(e){return this.#i===e}removeFromParent(){this.#i?(this.#s?.removeFromParent(this.uuid,this.#i),this.#i=void 0):this.#s?.moveToRoot(this.uuid)}addChild(e){if(e.#s!==this.#s)throw new Re("cannot add a child from another context");e.isChildOf(this)||(e.removeFromParent(),e.#i=this,this.#s.addToChildren(this,e))}setProperty(e,t,r){this.#s.setProperty(this,e,t,r)}removeProperty(e){this.#s.removeProperty(this,e)}dispatchShadowObjectsEvent(e,t,r){this.#s.dispatchShadowObjectsEvent(this,e,t,r)}dispatchEvent(e,t,r){if(y(this,e,t),r)for(let i of this.#s.getChildren(this))i.dispatchEvent(e,t,r)}destroy(){this.removeFromParent(),this.#s?.destroyComponent(this),this.#s=void 0}};var et="shaeRequestEntParent",tt="shaeReRequestEntParent",Ls="shae-worker",st="shae-ent",js="shae-prop",Z="token",F="forward-custom-events";var rt="local",Ds="no-autostart",it="no-structured-clone",N="auto-sync";var nt="name",ot="value",at="type",ht="no-trim";var Me=new Set(["on","true","yes","local","1"]);var _s=s=>he(s.getAttribute("ns")),je=(s,e)=>{if(s.hasAttribute(e)){let t=s.getAttribute(e)?.trim()?.toLowerCase()||"1";return Me.has(t)}return!1};var Ns=(s,e)=>{e.set(_s(s))},Ft=new Set,zt=!1,br=s=>{Ft.add(s),zt||(zt=!0,queueMicrotask(()=>{zt=!1;for(let e of Ft)I.get(e)?.sync();Ft.clear()}))},ee=class extends HTMLElement{static{this.observedAttributes=["ns"]}get ns(){return this.ns$.value}set ns(e){typeof e=="symbol"?this.ns$.set(e):this.ns$.set(he(e))}constructor(){super(),this.isShaeElement=!0,this.ns$=p(ae),this.ns$.onChange(e=>{typeof e=="string"&&e.length>0?this.getAttribute("ns")!==e&&this.setAttribute("ns",e):this.removeAttribute("ns")}),Ns(this,this.ns$)}attributeChangedCallback(e){e==="ns"&&Ns(this,this.ns$)}syncShadowObjects(){br(this.ns)}};var lt=class extends ee{static{this.observedAttributes=[...ee.observedAttributes,Z,F]}get componentContext(){return this.componentContext$.value}get viewComponent(){return this.viewComponent$.value}get uuid(){return this.viewComponent?.uuid}get token(){return this.token$.value}set token(e){this.token$.set(e)}#e;constructor(){super(),this.isShaeEntElement=!0,this.componentContext$=p(),this.viewComponent$=p(),this.token$=p(),this.forwardCustomEvents$=p(!1),this.#n=!0,this.#d=()=>{let e=this.findShadowRootHost();e!=null&&this.dispatchEvent(new CustomEvent(tt,{bubbles:!0,composed:!0,detail:{requester:this,shadowRootHost:e}}))},this.#f=e=>{let t=e.detail?.requester;if(t===this||!t?.isShaeEntElement||t.ns!==this.ns)return;e.detail?.shadowRootHost&&this.#l()},this.#g=e=>{let t=e.detail?.requester;t!==this&&t?.isShaeEntElement&&t.ns===this.ns&&(e.stopPropagation(),t.#c(this))},this.ns$.onChange(e=>{this.componentContext$.set(M.get(e)),this.isConnected&&this.#l()}),this.#p(),this.token$.onChange(e=>{e==null?this.removeAttribute(Z):this.getAttribute(Z)!==e&&this.setAttribute(Z,e)}),this.#y(),this.forwardCustomEvents$.onChange(e=>{if(!e)this.removeAttribute(F);else if(e===!0)this.hasAttribute(F)||this.setAttribute(F,"");else{let t=Array.from(e).join(",");this.getAttribute(F)!==t&&this.setAttribute(F,t)}}),C(()=>{let e=this.viewComponent$.get();if(e){let t=m(e,M.ReRequestParentRoots,()=>this.#h()),r=e.context?.ns;return()=>{t(),e.destroy(),r&&r!==this.ns?I.get(r)?.sync():this.syncShadowObjects()}}}),C(()=>{let e=this.viewComponent$.get();if(!e)return;let t=Object.hasOwn(e,"dispatchEvent")?Object.getPrototypeOf(e).dispatchEvent:e.dispatchEvent,r=this.forwardCustomEvents$.get();if(!r)return;let i=r instanceof Set?r:void 0,n=(o,l,a)=>{t.call(e,o,l,a),o!==M.ReRequestParentRoots&&(i&&!i.has(o)||this.dispatchEvent(new CustomEvent(o,{bubbles:!0,composed:!0,detail:l})))};return Object.defineProperty(e,"dispatchEvent",{value:n,writable:!0,configurable:!0}),()=>{Object.hasOwn(e,"dispatchEvent")&&e.dispatchEvent===n&&delete e.dispatchEvent}}),this.token$.onChange(e=>{let t=this.viewComponent$.value;t&&(t.token=e,this.syncShadowObjects())}),this.style.display="contents"}#t;#s(){this.#t?.();let e=this.componentContext$.onChange(t=>{let r=this.token$.value,i=this.viewComponent$.value;i?i.context=t:t&&(i=new Ze(r,{context:t}),this.viewComponent$.set(i)),this.syncShadowObjects()});this.#t=()=>{e()}}#i(){this.#t?.(),this.#t=void 0}#r;#n;findShadowRootHost(){if(this.#n){this.#n=!1;let e=this;for(;e;){if(e.parentElement==null){let t=e.parentNode;t&&(this.#r=t.host);break}e=e.parentElement}}return this.#r}getParentNodeForObserver(){let e=this.parentNode;return e||(e.host??e)}connectedCallback(){this.#n=!0,this.addEventListener("slotchange",this.#d,{capture:!1,passive:!1}),this.addEventListener(et,this.#g,{capture:!1,passive:!1}),this.#s(),qe(()=>this.#p()),qe(()=>this.#y()),this.componentContext==null&&this.componentContext$.set(M.get(this.ns)),this.#l(),this.componentContext?.dispatchReRequestParentRoots(),this.#o(),this.syncShadowObjects()}#o(){this.#a();let e=this.getParentNodeForObserver();e&&(this.#e=new MutationObserver((t,r)=>{for(let{target:i,removedNodes:n}of t)if(i===e){for(let o of n)if(o===this){this.#a(),this.onParentChanged(this.getParentNodeForObserver(),e);break}}}),this.#e.observe(e,{childList:!0,subtree:!1,attributes:!1}))}onParentChanged(e,t){this.#c(void 0),this.#l()}#a(){this.#e?.disconnect(),this.#e=void 0}attributeChangedCallback(e){super.attributeChangedCallback(e),e===Z?this.#p():e===F&&this.#y()}disconnectedCallback(){this.#n=!0,this.#a(),this.removeEventListener("slotchange",this.#d,{capture:!1}),this.removeEventListener(et,this.#g,{capture:!1}),this.#c(void 0),this.componentContext$.set(void 0),this.syncShadowObjects(),this.#i()}#h(){this.isConnected&&(this.#c(void 0),this.#l())}#l(){this.dispatchEvent(new CustomEvent(et,{bubbles:!0,composed:!0,detail:{requester:this}}))}#u;#c(e){if(this.entParentNode!==e)if(this.entParentNode&&this.entParentNode.removeEventListener(tt,this.#f,{capture:!1}),this.entParentNode=e,this.entParentNode&&this.entParentNode.addEventListener(tt,this.#f,{capture:!1,passive:!1}),this.#u?.(),this.#u=void 0,e){let t=C(()=>{let r=this.viewComponent$.get();if(r){let i=e.viewComponent$.get();r.parent=i&&i.context===r.context?i:void 0,r.parent==null&&queueMicrotask(()=>{this.#l()}),this.syncShadowObjects()}});this.#u=()=>t.destroy()}else{let t=this.viewComponent;t.parent&&(t.parent=void 0,this.syncShadowObjects())}}#d;#f;#g;#p(){if(this.hasAttribute(Z)){let e=this.getAttribute(Z)?.trim()||void 0;this.token$.set(e)}}#y(){if(this.hasAttribute(F)){let e=this.getAttribute(F);!e||e.trim().length===0?this.forwardCustomEvents$.set(!0):this.forwardCustomEvents$.set(new Set(e.split(",").map(t=>t.trim()).filter(t=>t.length>0)))}else this.forwardCustomEvents$.set(!1)}};customElements.define(st,lt);var vr=s=>{let e=s.parentElement;for(;e;){if(e.isShaeEntElement)return e;e=e.parentElement}},wr=new Set(["string","text","number","bigint","float","int","integer","hex","hexadecimal","oct","octal","bin","binary","bool","boolean","[]","text[]","string[]","number[]","float[]","int[]","integer[]","hex[]","hexadecimal[]","oct[]","octal[]","bin[]","binary[]","bool[]","boolean[]","int8array","uint8array","uint8clampedarray","int16array","uint16array","int32array","uint32array","float32array","float64array","bigint64array","biguint64array","json"]),ut=class extends HTMLElement{static{this.observedAttributes=[nt,ot,at,ht]}get name(){return this.name$.value}get value(){return this.valueOut$.value}set value(e){this.valueIn$.set(e)}get shouldTrim(){return this.shouldTrim$.value}get entNode(){return this.entNode$.value}set entNode(e){this.entNode$.set(e)}get viewComponent(){return this.viewComponent$.value}constructor(){super(),this.isShaeEntElement=!0,this.entNode$=p(),this.viewComponent$=p(),this.name$=p(),this.valueIn$=p(),this.valueOut$=p(),this.type$=p(),this.shouldTrim$=p(!0),this.logger=new T("ShaePropElement"),this.#e=()=>{this.entNode$.set(vr(this))},this.#t=()=>{queueMicrotask(()=>{this.isConnected||this.entNode$.set(void 0)})},this.#s=()=>{this.name$.set(this.getAttribute(nt)?.trim()??void 0)},this.#i=()=>{this.valueIn$.set(this.getAttribute(ot))},this.#r=()=>{let e=this.getAttribute(at)?.trim().toLowerCase();e&&!wr.has(e)&&(this.logger.isWarn&&this.logger.warn(`[${this.name}] unknown type "${e}"`,{shaeProp:this}),e=void 0),this.type$.set(e)},this.#n=()=>{this.shouldTrim$.set(!je(this,ht))},this.entNode$.onChange(e=>{if(e){let t=R(e.viewComponent$,this.viewComponent$);return()=>{t.destroy()}}else this.viewComponent$.set(void 0)}),C(()=>{let e=this.viewComponent$.get();if(e){let t=this.name$.get();if(t){let r=this.valueOut$.get();this.logger.isDebug&&this.logger.debug(`[${this.name}] view-component set-property`,t,r,e.uuid,{viewComponent:e,shaeProp:this}),e.setProperty(t,r),this.isConnected&&this.entNode?.syncShadowObjects()}}}),C(()=>{let e=this.type$.get(),t=this.shouldTrim$.get(),r=this.valueIn$.get();if(t&&typeof r=="string"&&(r=r.trim()),r=r||void 0,r!=null&&typeof r=="string"&&e)switch(e){case"string":case"text":break;case"number":r=Number(r);break;case"bigint":r=BigInt(r);break;case"float":r=parseFloat(r);break;case"int":case"integer":r=parseInt(r,10);break;case"hex":case"hexadecimal":r=parseInt(r,16);break;case"oct":case"octal":r=parseInt(r,8);break;case"bin":case"binary":r=parseInt(r,2);break;case"bool":case"boolean":r=Me.has(r.toLowerCase());break;case"[]":case"text[]":case"string[]":r=r.split(/\W+/);break;case"number[]":r=r.split(/\s+/).map(i=>Number(i));break;case"float[]":r=r.split(/\s+/).map(i=>parseFloat(i));break;case"int[]":case"integer[]":r=r.split(/\s+/).map(i=>parseInt(i));break;case"hex[]":case"hexadecimal[]":r=r.split(/\W+/).map(i=>parseInt(i,16));break;case"oct[]":case"octal[]":r=r.split(/\W+/).map(i=>parseInt(i,8));break;case"bin[]":case"binary[]":r=r.split(/\W+/).map(i=>parseInt(i,2));break;case"bool[]":case"boolean[]":r=r.split(/\W+/).map(i=>Me.has(i.toLowerCase()));break;case"int8array":r=new Int8Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint8array":r=new Uint8Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint8clampedarray":r=new Uint8ClampedArray(r.split(/\W+/).map(i=>Number(i)));break;case"int16array":r=new Int16Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint16array":r=new Uint16Array(r.split(/\W+/).map(i=>Number(i)));break;case"int32array":r=new Int32Array(r.split(/\W+/).map(i=>Number(i)));break;case"uint32array":r=new Uint32Array(r.split(/\W+/).map(i=>Number(i)));break;case"float32array":r=new Float32Array(r.split(/\s+/).map(i=>Number(i)));break;case"float64array":r=new Float64Array(r.split(/\s+/).map(i=>Number(i)));break;case"bigint64array":r=new BigInt64Array(r.split(/\W+/).map(i=>BigInt(i)));break;case"biguint64array":r=new BigUint64Array(r.split(/\W+/).map(i=>BigInt(i)));break;case"json":r=JSON.parse(r);break;default:this.logger.isWarn&&this.logger.warn(`[${this.name}] unknown type "${e}"`,{value:r,shaeProp:this})}this.valueOut$.set(r)}),P(()=>{this.#s(),this.#i(),this.#r(),this.#n()}),this.style.display="contents"}connectedCallback(){P(()=>{this.#e(),this.#s(),this.#i(),this.#r(),this.#n()})}attributeChangedCallback(e){switch(e){case nt:this.#s();break;case ot:this.#i();break;case at:this.#r();break;case ht:this.#n();break}}disconnectedCallback(){this.#t()}#e;#t;#s;#i;#r;#n};customElements.whenDefined(st).then(()=>customElements.define(js,ut));var ct,Vt=null,ge=class{static{this.OnFrame=Symbol("onFrame")}#e=0;#t=0;constructor(){if(Vt)return Vt;x(this),Vt=this}start(e){if(e!=null)return At(this)===0&&this.#i(),m(this,ct.OnFrame,e),this.#t++,()=>{this.stop(e)}}stop(e){E(this,ct.OnFrame,e),At(this)===0&&this.#r()}#s=e=>{y(this,ct.OnFrame,e),this.#i()};#i(){this.#e=requestAnimationFrame(this.#s)}#r(){cancelAnimationFrame(this.#e),this.#e=0}};ct=ge;var dt=s=>s??void 0;var ye="value",De=(()=>{let s,e=[],t=[];return class{static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;s=[Oe({name:ye})],Ae(this,null,s,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:n=>"value"in n,get:n=>n.value,set:(n,o)=>{n.value=o}},metadata:i},e,t),i&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})}static{this.Value=ye}#e;#t;#s;get value(){return this.#s}set value(i){this.#s=i}constructor(i){this.#e=[],this.#s=X(this,e,void 0),this.value$=X(this,t),U(this,ye),this.value$=_(this,ye),this.value$.onChange(n=>y(this,ye,n)),i&&this.add(...i)}add(...i){return this.#e.push(...i),this.#r(),this.#i(i)}unshift(...i){return this.#e.unshift(...i),this.#r(),this.#i(i)}remove(...i){this.#i(i)()}clear(){this.#e.length=0,this.#r()}dispose(){this.clear(),this.#t?.destroy(),this.#t=void 0,Q(this,ye),E(this),this.value$.destroy(),Se(this)}#i(i){return()=>{for(let n of i){let o=this.#e.indexOf(n);o!==-1&&this.#e.splice(o,1)}this.#r()}}#r(){this.#t?.destroy(),this.#e.length===0?(this.#t=void 0,this.value=void 0):(this.#t=C(()=>{let i;for(let n of this.#e){let o=fe(n);if(o!=null){i=o;break}}this.value=i},this.#e),this.#t.run())}}})();var Ut=Symbol("onCreate"),H=Symbol("onDestroy"),$s=Symbol("onParentChanged"),ft=Symbol("onViewEvent");var Bt=new Map,Gt=!1,Cr=(s,e)=>{Bt.set(s,e),Gt||(Gt=!0,queueMicrotask(()=>{Gt=!1;let t=Array.from(Bt.entries());Bt.clear();for(let[r,i]of t)r.set(i)}))},pt=class{#e;#t;#s=new Ye;#i=new Map;#r=new Map;#n;#o;#a=new Set;#h=[];#l=0;get kernel(){return this.#e}get uuid(){return this.#t}get order(){return this.#l}set order(e){this.#l!==e&&(this.#l=e,this.#n&&this.parent.resortChildren())}get parentUuid(){return this.#n||void 0}set parentUuid(e){this.#n!==e&&(this.removeFromParent(),this.#n=e||void 0,this.#o=e?this.#e.getEntity(e):void 0,this.#o&&this.#o.addChild(this))}get parent(){return!this.#o&&this.#n&&(this.#o=this.#e.getEntity(this.#n)),this.#o}set parent(e){this.parentUuid=e?.uuid}get hasParent(){return!!this.#n}get children(){return this.#h}constructor(e,t){this.#e=e,this.#t=t,S(this,H,V.Min,this)}traverse(e){e(this);for(let t of this.#h)t.traverse(e)}[H](){this.#s.clear(),E(this);for(let e of this.#r.values())e.cleanup(),e.signal.destroy();this.#r.clear();for(let e of this.#i.values())e.context.set(void 0),e.unsubscribePathValue(),e.unsubscribeFromParent?.(),e.valuePath.dispose(),e.inherited.destroy(),e.provide.destroy(),e.context.destroy();this.#n=void 0,this.#o=void 0,this.#a.clear(),this.#h.length=0}addChild(e){if(this.#h.length===0){this.#a.add(e.uuid),this.#h.push(e);return}if(this.#a.has(e.uuid))throw new Error(`child with uuid: ${e.uuid} already exists! parentUuid: ${this.uuid}`);this.#a.add(e.uuid),this.#h.push(e),this.resortChildren();for(let[,t]of e.#i)e.#f(t)}resortChildren(){this.#h.sort((e,t)=>e.order-t.order)}removeChild(e){this.#a.has(e.uuid)&&(this.#a.delete(e.uuid),this.#h.splice(this.#h.indexOf(e),1))}removeFromParent(){if(this.#o){this.#o.removeChild(this),this.#o=void 0,this.#n=void 0;for(let[,e]of this.#i)e.unsubscribeFromParent&&(e.unsubscribeFromParent(),e.unsubscribeFromParent=void 0)}}reSubscribeToParentContexts(){for(let[,e]of this.#i)this.#f(e)}dispatchMessageToView(e,t,r,i=!1){this.#e.dispatchMessageToView({uuid:this.#t,type:e,data:t,transferables:r,traverseChildren:i})}dispatchViewEvents(e){for(let{type:t,data:r}of e)y(this,ft,t,r)}dispatchViewEvent(e,t){this.dispatchViewEvents([{type:e,data:t}])}#u(e){return this.#s.get(e)}getPropertyReader(e){return this.#u(e).get}getPropertyWriter(e){return this.#u(e).set}setProperties(e){this.clearTruthyPropsCache(),P(()=>{for(let[t,r]of e)this.setProperty(t,r)})}setProperty(e,t){this.getPropertyWriter(e)(t)}getProperty(e){return fe(this.getPropertyReader(e))}propKeys(){return Array.from(this.#s.keys())}propEntries(){return Array.from(this.#s.entries()).map(([e,t])=>[e,t.value])}#c;clearTruthyPropsCache(){this.#c=void 0}truthyProps(){if(this.#c)return this.#c.size?this.#c:void 0;let e=new Set;for(let[t,r]of this.#s.entries())if(typeof t=="string"){let i=r.value;i!=null&&i!==!1&&i!==""&&e.add(t)}return this.#c=e,e.size?e:void 0}hasContext(e){return this.#i.has(e)}useContext(e){return this.#d(e).context.get}useParentContext(e){return this.#d(e).inherited.get}provideContext(e){return this.#d(e).provide}provideGlobalContext(e){if(this.#r.has(e))return this.#r.get(e).signal;let t=this.#e.findOrCreateRootContext(e),r=p(),i=t.add(r);return this.#r.set(e,{cleanup:i,signal:r}),r}#d(e){if(this.#i.has(e))return this.#i.get(e);let t=p(),r=p(),i=p(),n=new De([r,t]),o=m(n,De.Value,a=>{Cr(i,a)}),l={name:e,inherited:t,provide:r,context:i,valuePath:n,unsubscribePathValue:o};return this.#i.set(e,l),this.#f(l),l}#f(e){if(e.unsubscribeFromParent?.(),e.unsubscribeFromParent=void 0,this.parent){let t=this.parent.#d(e.name),r=R(t.context,e.inherited);e.unsubscribeFromParent=r.destroy.bind(r)}else{let t=this.#e.findOrCreateRootContext(e.name),r=R(t.value$,e.inherited);e.unsubscribeFromParent=r.destroy.bind(r)}}};var Ws=s=>{let e=s.split("@").map(t=>t.trim());if(e.length===2&&e[1])return e[0]?{key:`${e[0]}@${e[1]}`,prop:e[1],token:e[0]}:{key:e[1],prop:e[1]}},gt=(s,e)=>{for(let t of e)s.add(t)},Er=(s,e)=>{if(s!=null)for(let t of s.constructors)e.add(t)},_e=class{static get(e){return e??Sr}#e=new Map;#t=new Map;#s=new Map;define(e,t){this.#e.has(e)?Os(this.#e.get(e).constructors,t):this.#e.set(e,{token:e,constructors:[t]})}appendRoute(e,t){let r=Ws(e);r?this.#s.has(r.key)?gt(this.#s.get(r.key).routes,t):this.#s.set(r.key,{routes:new Set(t),token:r.token}):this.#t.has(e)?gt(this.#t.get(e),t):this.#t.set(e,new Set(t))}clearRoute(e){let t=Ws(e);t?this.#s.delete(t.key):this.#t.delete(e)}findTokensByRoute(e,t){let r=new Set([e]),i=this.#t.has(e)?[...this.#t.get(e)]:[];for(;i.length;){let n=i.shift();r.has(n)||(r.add(n),this.#t.has(n)&&i.push(...Array.from(this.#t.get(n)).filter(o=>!r.has(o))))}if(t){for(let o of t)this.#s.has(o)&>(r,this.#s.get(o).routes);let n;do{n=r.size;for(let o of new Set(r))for(let l of t){let a=`${o}@${l}`;this.#s.has(a)&>(r,this.#s.get(a).routes)}}while(n!==r.size)}return r}findConstructors(e,t){let r=this.findTokensByRoute(e,t),i=new Set;for(let n of r)Er(this.#e.get(n),i);return i.size>0?Array.from(i):void 0}hasToken(e){return this.#e.has(e)}hasRoute(e){return this.#t.has(e)}clear(){this.#e.clear(),this.#t.clear()}},Sr=new _e;var K;(function(s){s[s.CreateAndDestroy=0]="CreateAndDestroy",s[s.JustCreate=1]="JustCreate",s[s.DestroyOnly=2]="DestroyOnly"})(K||(K={}));var Is=s=>s.displayName||s.name,Fs=!1,zs=!1,Vs=!1,Us=!1,Bs=!1,yt=class{#e;#t;#s;#i;#r;#n;constructor(e){this.logger=new T("Kernel"),this.#e=new Map,this.#t=new Set,this.#r=!0,this.#n=new Map,x(this),this.registry=_e.get(e)}getEntity(e){let t=this.#e.get(e)?.entity;if(!t)throw new Error(`entity with uuid "${e}" not found!`);return t}hasEntity(e){return this.#e.has(e)}traverseLevelOrderBFS(e=!1){if(this.#r){let t=new Map,r=(i,n)=>{let o=this.getEntity(i);t.has(n)?t.get(n).push(o):t.set(n,[o]);for(let l of o.children)r(l.uuid,n+1)};this.#t.forEach(i=>{r(i,0)}),this.#s=Array.from(t.entries()).sort((i,n)=>i[0]-n[0]).flatMap(([,i])=>i),this.#i=this.#s.slice().reverse(),this.#r=!1}return e?this.#i:this.#s}getEntityGraph(){return Array.from(this.#t).map(e=>this.getEntityGraphNode(e))}getEntityGraphNode(e){if(!this.#e.has(e))return;let{token:t,entity:r}=this.#e.get(e);return{token:t,entity:r,props:Object.fromEntries(r.propEntries()),children:r.children.map(i=>this.getEntityGraphNode(i.uuid))}}upgradeEntities(){let e=new Map;for(let t of this.traverseLevelOrderBFS(!0))e.set(t.uuid,this.updateShadowObjects(t.uuid,K.DestroyOnly));for(let t of this.traverseLevelOrderBFS(!1))this.updateShadowObjects(t.uuid,K.JustCreate,e.get(t.uuid));e.clear()}run(e){this.logger.isDebug&&this.logger.debug("sync",e),P(()=>{for(let t of e.changeTrail)this.parse(t)})}parse(e){switch(e.type){case b.CreateEntities:this.createEntity(e.uuid,e.token,e.parentUuid,e.order,e.properties),this.#r=!0;break;case b.DestroyEntities:this.destroyEntity(e.uuid),this.#r=!0;break;case b.SetParent:this.setParent(e.uuid,e.parentUuid,e.order),this.#r=!0;break;case b.UpdateOrder:this.updateOrder(e.uuid,e.order),this.#r=!0;break;case b.ChangeProperties:this.changeProperties(e.uuid,e.properties);break;case b.ChangeToken:this.changeToken(e.uuid,e.token);break;case b.SendEvents:this.dispatchEventsToEntity(e.uuid,e.events);break}}createEntity(e,t,r,i=0,n){let o=new pt(this,e);o.order=i;let l={token:t,entity:o,usedConstructors:new Map};this.#e.set(e,l),r&&(o.parentUuid=r),o.hasParent||this.#t.add(e),n&&o.setProperties(n),this.createShadowObjects(e)}destroyEntity(e){if(!this.#e.has(e))return;let{entity:t,usedConstructors:r}=this.#e.get(e);t.removeFromParent(),y(t,H,t),r.clear(),this.#e.delete(t.uuid),this.#t.delete(t.uuid)}setParent(e,t,r=0){let i=this.getEntity(e);i.parentUuid===t&&i.order===r||(i.removeFromParent(),i.order=r,i.parentUuid=t,i.hasParent?this.#t.delete(e):this.#t.add(e),i.reSubscribeToParentContexts(),queueMicrotask(()=>{this.logger.isDebug&&this.logger.debug("entity.onParentChanged",{uuid:e,parentUuid:t,order:r,entity:i}),y(i,$s,i)}))}updateOrder(e,t){this.getEntity(e).order=t}dispatchEventsToEntity(e,t){this.getEntity(e)?.dispatchViewEvents(t)}changeProperties(e,t){this.getEntity(e).setProperties(t),this.updateShadowObjects(e)}changeToken(e,t){if(!this.#e.has(e))return;let r=this.#e.get(e);r.token!==t&&(r.token=t,this.updateShadowObjects(e))}dispatchMessageToView(e){queueMicrotask(()=>{y(this,pe,e)})}updateShadowObjects(e,t=K.CreateAndDestroy,r){let i=this.#e.get(e);r??=new Set(this.registry.findConstructors(i.token,i.entity.truthyProps()));let n=t===K.CreateAndDestroy||t===K.DestroyOnly,o=t===K.CreateAndDestroy||t===K.JustCreate;if(n){for(let[l,a]of i.usedConstructors)if(!r.has(l)){i.usedConstructors.delete(l);for(let f of a)this.destroyShadowObject(f,i.entity)}}if(o)for(let l of r)i.usedConstructors.has(l)||this.constructShadowObject(l,i);return r}constructShadowObject(e,t){let r=new Set,i=new Set,n=new Map,o=new Map,l=new Map,a=new Map,f=new Map,w=(u,h)=>{!Bs&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useProperty()" is now passed as {compare} argument. Please update your code accordingly.'),Bs=!0);let c=typeof h=="function"?{compare:h}:h,d=f.get(u);if(d===void 0){d=p(void 0,c).get,f.set(u,d);let g=R(t.entity.getPropertyReader(u),d);i.add(g.destroy.bind(g))}return d},v=x(new e({entity:t.entity,provideContext(u,h,c){!Fs&&c!=null&&typeof c=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideContext()" is now passed as {compare} argument. Please update your code accordingly.'),Fs=!0);let d=typeof c=="function"?{compare:c}:c,g=l.get(u);if(g==null){let D=oe(h),wt=D?void 0:dt(h);if(g=p(wt,d?.compare?{compare:d.compare}:void 0),D){let be=R(h,g);i.add(be.destroy.bind(be))}let me=R(g,t.entity.provideContext(u));i.add(me.destroy.bind(me)),l.set(u,g)}return g!=null&&(d?.clearOnDestroy??!0)&&i.add(()=>{g.set(void 0)}),g},provideGlobalContext(u,h,c){!zs&&c!=null&&typeof c=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideGlobalContext()" is now passed as {compare} argument. Please update your code accordingly.'),zs=!0);let d=typeof c=="function"?{compare:c}:c,g=a.get(u);if(g==null){let D=oe(h),wt=D?void 0:dt(h);if(g=p(wt,d?.compare?{compare:d.compare}:void 0),D){let be=R(h,g);i.add(be.destroy.bind(be))}let me=R(g,t.entity.provideGlobalContext(u));i.add(me.destroy.bind(me)),a.set(u,g)}return g!=null&&(d?.clearOnDestroy??!0)&&i.add(()=>{g.set(void 0)}),g},useContext(u,h){!Vs&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useContext()" is now passed as {compare} argument. Please update your code accordingly.'),Vs=!0);let c=typeof h=="function"?{compare:h}:h,d=n.get(u);if(d===void 0){d=p(void 0,c).get,n.set(u,d);let g=R(t.entity.useContext(u),d);i.add(g.destroy.bind(g))}return d},useParentContext(u,h){!Us&&h!=null&&typeof h=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useParentContext()" is now passed as {compare} argument. Please update your code accordingly.'),Us=!0);let c=typeof h=="function"?{compare:h}:h,d=o.get(u);if(d===void 0){d=p(void 0,c).get,o.set(u,d);let g=R(t.entity.useParentContext(u),d);i.add(g.destroy.bind(g))}return d},dispatchMessageToView(u,h,c,d=!1){t.entity.dispatchMessageToView(u,h,c,d)},useProperty:w,useProperties(u){let h={};for(let c in u)Object.hasOwn(u,c)&&(h[c]=w(u[c]));return h},createResource(u,h){let c=p(),d=C(()=>{let g=dt(u());return c.set(g),g!==void 0&&h?()=>{h(g),c.set(void 0)}:()=>{c.set(void 0)}});return i.add(()=>{d.destroy(),c.set(void 0),O(c)}),c},createEffect(...u){let h=C(...u);return i.add(h.destroy),h},createSignal(...u){let h=p(...u);return i.add(()=>{O(h)}),h},createMemo(...u){let h=He(...u);return i.add(()=>{O(h)}),h},on(...u){let[h]=u;if(typeof h=="string"||typeof h=="symbol"||Array.isArray(h)){let d=m(t.entity,...u);return i.add(d),d}let c=m(...u);return i.add(c),Object.assign(()=>{i.delete(c),c()},c)},once(...u){let[h]=u;if(typeof h=="string"||typeof h=="symbol"||Array.isArray(h)){let d=S(t.entity,...u);return i.add(d),d}let c=S(...u);return i.add(c),Object.assign(()=>{i.delete(c),c()},c)},emit(...u){let[h]=u;typeof h=="string"||typeof h=="symbol"||Array.isArray(h)?y(t.entity,...u):y(...u)},onViewEvent(u){let h=m(t.entity,ft,(c,d)=>{u(c,d)});i.add(h)},onDestroy(u){r.add(u)}}));return this.logger.isInfo&&this.logger.info("create shadow-object",Is(e),{shadowObject:v,entity:t.entity}),S(t.entity,H,V.Low,()=>{this.logger.isInfo&&this.logger.info("destroy shadow-object",Is(e),{shadowObject:v,entity:t.entity});for(let h of r)h();for(let h of i)h();for(let h of n.values())O(h);for(let h of o.values())O(h);for(let h of f.values())O(h);for(let h of l.values())O(h);for(let h of a.values())O(h);r.clear(),i.clear(),n.clear(),o.clear(),f.clear(),l.clear(),a.clear();let u=t.usedConstructors.get(e);u&&(u.delete(v),u.size===0&&t.usedConstructors.delete(e))}),t.usedConstructors.has(e)?t.usedConstructors.get(e).add(v):t.usedConstructors.set(e,new Set([v])),this.attachShadowObject(v,t.entity),v}createShadowObjects(e){let t=this.#e.get(e);this.registry.findConstructors(t.token,t.entity.truthyProps())?.forEach(r=>{this.constructShadowObject(r,t)})}findShadowObjects(e){if(!this.#e.has(e))return[];let{usedConstructors:t}=this.#e.get(e);return Array.from(new Set(Array.from(t.values()).flatMap(r=>Array.from(r))))}attachShadowObject(e,t){m(t,e),typeof e[Ut]=="function"&&e[Ut](t)}destroyShadowObject(e,t){typeof e[H]=="function"&&e[H](t),y(e,H,t),E(t,e)}findOrCreateRootContext(e){let t=this.#n.get(e);return t||(t=new De,this.#n.set(e,t)),t}destroy(){for(let e of this.#n.values())e.dispose();this.#n.clear();for(let e of this.traverseLevelOrderBFS().reverse())this.destroyEntity(e.uuid)}};async function qt(s,e,t,r=!0){if(t.has(e)){console.warn("importModule: skipping already imported module",e);return}else t.add(e);e.extends&&await Promise.all(e.extends.map(n=>qt(s,n,t,!1)));let{registry:i}=s;if(e.define)for(let[n,o]of Object.entries(e.define))i.define(n,o);if(e.routes)for(let[n,o]of Object.entries(e.routes))i.appendRoute(n,o);await(e.initialize?.({define:(n,o)=>i.define(n,o),kernel:s,registry:i})??Promise.resolve()),r&&s.upgradeEntities()}var mt=s=>(typeof s=="string"&&(s=new URL(s,globalThis.location.href)),s.toString());function Gs(s){return s.map(e=>{if(e.transferables&&e.transferables.length>0){let{transferables:t,...r}=e;return structuredClone(r,{transfer:t})}else return structuredClone(e)})}var bt=class{#e;get registry(){return this.kernel.registry}constructor(e){this.#e=new Set,this.isLocalEnv=!0,this.disableStructuredClone=!1,this.kernel=new yt(e),m(this.kernel,pe,t=>{if(this.onMessageToView!=null){let{type:r,uuid:i,traverseChildren:n}=t,o=structuredClone(t.data,{transfer:t.transferables});this.onMessageToView({type:r,uuid:i,data:o,traverseChildren:n})}})}start(){return Promise.resolve()}applyChangeTrail(e,t){let r={changeTrail:this.disableStructuredClone?e:Gs(e)},i;try{this.kernel.run(r),i=Promise.resolve()}catch(n){i=Promise.reject(n)}return i}async importScript(e){let t=await import(mt(e));t[_t]&&await this.importModule(t[_t])}async importModule(e){return qt(this.kernel,e,this.#e)}destroy(){this.kernel.destroy(),this.registry.clear(),this.#e.clear()}};function Ht(s){let e=new Blob([s],{type:"text/javascript"}),t=URL.createObjectURL(e),r=new Worker(t);return URL.revokeObjectURL(t),r}function Kt(){return Ht(`var Ys=Object.defineProperty;var oe=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable;var Xs=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),qe=e=>{throw TypeError(e)};var me=(e,t,s)=>t in e?Ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,we=(e,t)=>{for(var s in t||(t={}))Be.call(t,s)&&me(e,s,t[s]);if(oe)for(var s of oe(t))We.call(t,s)&&me(e,s,t[s]);return e};var Je=(e,t)=>{var s={};for(var i in e)Be.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(e!=null&&oe)for(var i of oe(e))t.indexOf(i)<0&&We.call(e,i)&&(s[i]=e[i]);return s};var p=(e,t,s)=>me(e,typeof t!="symbol"?t+"":t,s),Ce=(e,t,s)=>t.has(e)||qe("Cannot "+s);var r=(e,t,s)=>(Ce(e,t,"read from private field"),s?s.call(e):t.get(e)),g=(e,t,s)=>t.has(e)?qe("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),f=(e,t,s,i)=>(Ce(e,t,"write to private field"),i?i.call(e,s):t.set(e,s),s),C=(e,t,s)=>(Ce(e,t,"access private method"),s);var Ke=(e,t,s,i)=>({set _(n){f(e,t,n,s)},get _(){return r(e,t,i)}});var Ee=function(e,t){this[0]=e,this[1]=t},Ye=(e,t,s)=>{var i=(a,d,y,m)=>{try{var w=s[a](d),h=(d=w.value)instanceof Ee,l=w.done;Promise.resolve(h?d[0]:d).then(u=>h?i(a==="return"?a:"next",d[1]?{done:u.done,value:u.value}:u,y,m):y({value:u,done:l})).catch(u=>i("throw",u,y,m))}catch(u){m(u)}},n=a=>o[a]=d=>new Promise((y,m)=>i(a,d,y,m)),o={};return s=s.apply(e,t),o[Xs("asyncIterator")]=()=>o,n("next"),n("throw"),n("return"),o};var Xe;(function(e){e[e.StructuralChanges=1]="StructuralChanges",e[e.ContentUpdates=2]="ContentUpdates",e[e.Removal=3]="Removal"})(Xe||(Xe={}));var tt;(function(e){e[e.CreateEntities=1]="CreateEntities",e[e.DestroyEntities=2]="DestroyEntities",e[e.SetParent=3]="SetParent",e[e.UpdateOrder=4]="UpdateOrder",e[e.ChangeProperties=5]="ChangeProperties",e[e.ChangeToken=6]="ChangeToken",e[e.SendEvents=7]="SendEvents"})(tt||(tt={}));var Zs="configure",Hs="changeTrail",Qs="destroy",_s="loaded",Ze="appliedChangeTrail",Se="importedModule",ti="destroyed",De="messageToView",ke="shadowObjects",N="ConsoleLogger",R=\`\${N}Storage\`,ys,bs,vs,ei=!!((vs=(bs=(ys=globalThis.location)==null?void 0:ys.host)==null?void 0:bs.startsWith("localhost"))!=null&&vs),Zt="localStorage"in globalThis,he=Symbol.for(N),He=!1,Qe=e=>{if(typeof e=="boolean")return e;switch(e.toLowerCase()){case"true":case"yes":case"on":return!0;default:return!1}},xe=e=>[Zt?N:void 0,...Array.isArray(e)?e:[e]].filter(Boolean).join(".");function Ae(e,t=void 0,s){var o;let i=xe(e),n=Zt?localStorage.getItem(i):(o=globalThis[R])==null?void 0:o[i];return n!=null?t(n):s}function Ut(e,t){Zt?localStorage.setItem(xe(e),t):(globalThis[R]==null&&(globalThis[R]={},console.debug(\`\${N}: Initialize\`,{[R]:globalThis[R]})),globalThis[R][xe(e)]=t)}var wt,Wt,b,si=(b=class{constructor(t){g(this,wt);this.enable=!0,this.namespace=(t||"").trim()||N,He||(b.loadConfig(),He=!0);let s=[this.namespace,"enable"];this.enable=Ae(s,Qe,this.enable),Ut(s,Zt?this.enable?"true":"false":this.enable)}static get isEnabled(){return b.sharedConfig.enable}static get isDebug(){return b.sharedConfig.enable&&b.sharedConfig.debug}static loadConfig(){var t,s,i;Zt?(["enable","debug","info","warn"].forEach(n=>{this.sharedConfig[n]=Ae(n,Qe,this.sharedConfig[n])}),["debug","info","warn","error"].forEach(n=>{this.sharedStyles[n]=Ae(["styles",n],void 0,this.sharedStyles[n])}),b.isDebug&&console.debug(\`\${N}: Load config from localStorage\`,b.sharedConfig),(t=globalThis[N])!=null&&t[he]||((s=globalThis[N])!=null||(globalThis[N]={[he]:!0,get enable(){return b.sharedConfig.enable},set enable(n){b.sharedConfig.enable=n,Ut("enable",n?"true":"false")},get debug(){return b.sharedConfig.debug},set debug(n){b.sharedConfig.debug=n,Ut("debug",n?"true":"false")},get info(){return b.sharedConfig.info},set info(n){b.sharedConfig.info=n,Ut("info",n?"true":"false")},get warn(){return b.sharedConfig.warn},set warn(n){b.sharedConfig.warn=n,Ut("warn",n?"true":"false")}}))):(i=globalThis[R])!=null&&i[he]||(globalThis[R]=we(we({[he]:!0},b.sharedConfig),globalThis[R]),b.sharedConfig=globalThis[R],b.isDebug&&console.debug(\`\${N}: Load config from \${R}\`,globalThis[R]))}get isEnabled(){return this.enable&&b.sharedConfig.enable}get isDebug(){return this.isEnabled&&b.sharedConfig.debug}get isInfo(){return this.isEnabled&&b.sharedConfig.info}get isWarn(){return this.isEnabled&&b.sharedConfig.warn}debug(...t){C(this,wt,Wt).call(this,"debug",b.sharedStyles.debug,t)}info(...t){C(this,wt,Wt).call(this,"info",b.sharedStyles.info,t)}warn(...t){C(this,wt,Wt).call(this,"warn",b.sharedStyles.warn,t)}error(...t){C(this,wt,Wt).call(this,"error",b.sharedStyles.error,t)}},wt=new WeakSet,Wt=function(t,s,i){console[t](\`%c\${this.namespace}\`,s,...i)},b.sharedConfig={enable:ei,debug:!1,info:!0,warn:!0,"styles.debug":"color: #111; background: #999; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.info":"color: #020; background: #8a8; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.warn":"color: #fa0; background: #a98; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em","styles.error":"color: #ff0; background: #a00; display: inline-block; padding: 0 0.25em; margin: 0; border-radius: 0.25em"},b.sharedStyles={get debug(){return b.sharedConfig["styles.debug"]},set debug(t){b.sharedConfig["styles.debug"]=t},get info(){return b.sharedConfig["styles.info"]},set info(t){b.sharedConfig["styles.info"]=t},get warn(){return b.sharedConfig["styles.warn"]},set warn(t){b.sharedConfig["styles.warn"]=t},get error(){return b.sharedConfig["styles.error"]},set error(t){b.sharedConfig["styles.error"]=t}},b),jt="*",Os=1,$e=2,Ie=4,bt=Symbol.for("eventize"),ii="[eventize]",pe=e=>e===jt,js=e=>{switch(typeof e){case"string":case"symbol":return!0;default:return!1}},Ms=typeof console<"u",ri=Ms?console[console.warn?"warn":"log"].bind(console,ii):()=>{},ni=(e,t,s)=>(Object.defineProperty(e,t,{value:s,configurable:!0}),e),ai=0,Ts=class{constructor(){p(this,"events",new Map);p(this,"eventNames",new Set)}static publish(e){e.sort((t,s)=>t.order-s.order).forEach(t=>t.emit())}add(e){Array.isArray(e)?e.forEach(t=>this.eventNames.add(t)):this.eventNames.add(e)}remove(e){Array.isArray(e)?e.forEach(t=>this.eventNames.delete(t)):this.eventNames.delete(e),this.clear(e)}clear(e){Array.isArray(e)?e.forEach(t=>this.events.delete(t)):this.events.delete(e)}retain(e,t){this.eventNames.has(e)&&this.events.set(e,{args:t,order:ai++})}isKnown(e){return this.eventNames.has(e)}emit(e,t,s=[]){if(pe(e))this.eventNames.forEach(i=>this.emit(i,t,s));else if(this.events.has(e)){let{order:i,args:n}=this.events.get(e);s.push({order:i,emit:()=>t.apply(e,n)})}return s}},Le=(e,t,s,i)=>{if(typeof t=="function"){let n=t.apply(e,s);n!=null&&(i==null||i(n))}},oi=(e,t,s,i)=>Le(t,t.emit,[e].concat(s),i),hi=e=>{switch(typeof e){case"function":return Os;case"string":case"symbol":return $e;case"object":return Ie}},li=0,di=()=>++li,Ds=class{constructor(e,t,s,i=null){p(this,"id");p(this,"eventName");p(this,"isCatchEmAll");p(this,"priority");p(this,"listener");p(this,"listenerObject");p(this,"listenerType");p(this,"callAfterApply");p(this,"isRemoved");p(this,"refCount");this.id=di(),this.eventName=e,this.isCatchEmAll=pe(e),this.listener=s,this.listenerObject=i,this.priority=t,this.listenerType=hi(s),this.callAfterApply=void 0,this.isRemoved=!1,this.refCount=1}isEqual(e,t=null){if(e===this)return!0;let s=typeof e;return s==="number"&&e===this.id?!0:t===null&&(s==="string"||s==="symbol")?e===jt||e===this.eventName:this.listener===e&&this.listenerObject===t}apply(e,t,s){if(this.isRemoved)return;let{listener:i,listenerObject:n}=this;switch(this.listenerType){case Os:Le(n,i,t,s),this.callAfterApply&&this.callAfterApply();break;case $e:Le(n,n[i],t,s),this.callAfterApply&&this.callAfterApply();break;case Ie:{let o=i[e];if(this.isCatchEmAll||this.eventName===e){if(typeof o=="function"){let a=o.apply(i,t);a!=null&&(s==null||s(a))}else oi(e,i,t,s);this.callAfterApply&&this.callAfterApply()}break}}}},ui=(e,t)=>e.priority!==t.priority?t.priority-e.priority:e.id-t.id,_e=e=>e==null?void 0:e.slice(0),ts=(e,t)=>{let s=e.indexOf(t);s>-1&&e.splice(s,1)},ci=e=>e===Ie||e===$e,Re=(e,t,s)=>{let i=e.findIndex(n=>n.isEqual(t,s));i>-1&&(e[i].isRemoved=!0,e.splice(i,1))},le=(e,t,s)=>{let i=[];for(let n of e)(t==null&&n.listenerObject===s||n.eventName===t&&n.listener===s)&&i.push(n);for(let n of i)Re(e,n,void 0)},Pe=e=>{e&&(e.forEach(t=>{t.isRemoved=!0}),e.length=0)},fi=(e,t)=>e.listenerType===t.listenerType?e.priority===t.priority&&e.eventName===t.eventName&&e.listenerObject===t.listenerObject&&e.listener===t.listener:!1,pi=(e,t)=>{if(ci(e.listenerType))return t.find(s=>fi(e,s))},gi=(e,t)=>{let s=pi(e,t);return s?(s.refCount+=1,s):(t.push(e),t.sort(ui),e)},yi=class{constructor(){p(this,"namedListeners");p(this,"catchEmAllListeners");p(this,"getListenersForEventName",e=>{let t=this.namedListeners.get(e);return t||(t=[],this.namedListeners.set(e,t)),t});this.namedListeners=new Map,this.catchEmAllListeners=[]}add(e){return gi(e,e.isCatchEmAll?this.catchEmAllListeners:this.getListenersForEventName(e.eventName))}remove(e,t,s=!1){t==null&&Array.isArray(e)?e.forEach(i=>this.remove(i,null,s)):e==null||t==null&&pe(e)?this.removeAllListeners():t==null&&js(e)?Pe(this.namedListeners.get(e)):e instanceof Ds?e.isRemoved||(e.refCount-=1,e.refCount<1&&(e.isRemoved=!0,this.namedListeners.forEach(i=>ts(i,e)),ts(this.catchEmAllListeners,e))):s?pe(e)&&typeof e=="object"?le(this.catchEmAllListeners,jt,e):this.namedListeners.forEach(i=>le(i,e,t)):(this.namedListeners.forEach(i=>{Re(i,e,t),typeof e=="object"&&le(i,void 0,e)}),Re(this.catchEmAllListeners,e,t),typeof e=="object"&&le(this.catchEmAllListeners,void 0,e))}removeAllListeners(){this.namedListeners.forEach(e=>Pe(e)),this.namedListeners.clear(),Pe(this.catchEmAllListeners)}forEach(e,t){let s=_e(this.catchEmAllListeners),i=_e(this.namedListeners.get(e));if(e===jt||!i||i.length===0)s.forEach(t);else if(s.length===0)i.forEach(t);else{let n=i.length,o=s.length,a=0,d=0;for(;a<n||d<o;){if(a<n){let y=i[a];if(d>=o||y.priority>=s[d].priority){t(y),++a;continue}}d<o&&(t(s[d]),++d)}}}getSubscriptionCount(){let e=this.catchEmAllListeners.length;for(let t of this.namedListeners.values())e+=t.length;return e}},$t=e=>!!(e&&e[bt]);function Ht(e){if($t(e))return e;let t=new yi,s=new Ts;return ni(e,bt,{keeper:s,store:t}),e}var be={Max:Number.POSITIVE_INFINITY,AAA:1e9,BB:1e6,C:1e3,Default:0,Low:-1e4,Min:Number.NEGATIVE_INFINITY},bi=(e,t,s,i,n,o,a)=>{let d=e.add(new Ds(s,i,n,o));return t.emit(s,d,a),d},vi=(e,t,s,i)=>{let n=s.length,o=typeof s[0],a,d,y,m;if(n>=2&&n<=3&&o==="number"?(a=jt,[d,y,m]=s):n>=3&&n<=4&&typeof s[1]=="number"?[a,d,y,m]=s:(d=be.Default,o==="string"||o==="symbol"||Array.isArray(s[0])?[a,y,m]=s:(a=jt,[y,m]=s)),!y&&Ms)throw ri("called with insufficient arguments!",s),"subscribeTo() called with insufficient arguments!";let w=h=>l=>bi(e,t,l,h,y,m,i);return Array.isArray(a)?a.map(h=>Array.isArray(h)?w(h[1])(h[0]):w(d)(h)):w(d)(a)},xs=(e,t,s)=>{let i=[],n=vi(e,t,s,i);return Ts.publish(i),n},es=e=>t=>{t.callAfterApply=()=>{e==null||e()}},Ls=(e,t)=>Object.assign(()=>$(e,t),Array.isArray(t)?{listeners:t}:{listener:t}),Rs=(e,t,s,i)=>{let{store:n,keeper:o}=e[bt];Array.isArray(t)?t.forEach(a=>{n.forEach(a,d=>d.apply(a,s,i)),o.retain(a,s)}):t!==jt&&(n.forEach(t,a=>{a.apply(t,s,i)}),o.retain(t,s))},V=(e,...t)=>{let s=Ht(e),{store:i,keeper:n}=s[bt];return Ls(s,xs(i,n,t))},A=(e,...t)=>{let s=Ht(e),{store:i,keeper:n}=s[bt],o=xs(i,n,t),a=Ls(s,o),d=!1,y=()=>{d||(a(),d=!0)};return Array.isArray(o)?o.forEach(es(y)):es(y)(o),y},mi=(e,t)=>new Promise(s=>{A(e,t,s)}),$=(e,t,s)=>{if(!$t(e))throw new Error("object is not eventized");let{store:i,keeper:n}=e[bt],o=typeof t,a=s!=null&&(o==="string"||o==="symbol");i.remove(t,s,a),Array.isArray(t)?n.remove(t.filter(d=>typeof d=="string")):js(t)&&n.remove(t)},E=(e,t,...s)=>{if(!$t(e))throw new Error("object is not eventized");Rs(e,t,s)},wi=(e,t,...s)=>{if(!$t(e))throw new Error("object is not eventized");let i=[];return Rs(e,t,s,n=>{i.push(n)}),i=i.map(n=>Array.isArray(n)?Promise.all(n):Promise.resolve(n)),i.length>0?Promise.all(i):Promise.resolve()},Ge=(e,t)=>{let s=Ht(e),{keeper:i}=s[bt];i.add(t)},ge=(e,t)=>{if(!$t(e))throw new Error("object is not eventized");let{keeper:s}=e[bt];s.clear(t)},ot=(()=>{let e=(t={})=>Ht(t);return e.inject=(t={})=>(t=Ht(t),Object.assign(t,{on:(...s)=>V(t,...s),once:(...s)=>A(t,...s),onceAsync:s=>mi(t,s),off:(s,i)=>$(t,s,i),emit:(s,...i)=>E(t,s,...i),emitAsync:(s,...i)=>wi(t,s,...i),retain:s=>Ge(t,s),retainClear:s=>ge(t,s)}),t),e.is=$t,e})(),_=Symbol.for("signal"),Mt=Symbol.for("effect"),ss=Symbol.for("destroySignal"),is=Symbol.for("createEffect"),Ci=Symbol.for("destroyEffect"),Bt="value",rs="mute",ns="unmute",Yt="destroy",Xt=Symbol.for("recall"),ye=ot(),Nt=ot(),vt=ot(),zs=ot(),Te,qt=(Te=class{constructor(){p(this,"delayedEffects",[])}batch(e,t){let s=this.delayedEffects.length;for(let i=0;i<s;i++){let[n,o]=this.delayedEffects[i];if(!(n>t))if(n===t){o.add(e);return}else{this.delayedEffects.splice(i,0,[t,new Set([e])]);return}}this.delayedEffects.push([t,new Set([e])])}flush(){this.run(),this.delayedEffects.length=0}run(){let e=new Set,t=[V(vt,(i,n)=>{n===Xt&&e.add(i)}),V(zs,i=>{e.add(i)})],s=this.delayedEffects.flatMap(([,i])=>Array.from(i));for(let i of s)e.has(i)||E(vt,i,i,Xt);t.forEach(i=>{i()})}},p(Te,"current"),Te),Ei=()=>qt.current;function Qt(e){let t=qt.current;t?t=void 0:t=qt.current=new qt;try{e()}finally{t&&(qt.current=void 0,t.run())}}var Si=0;function Fs(){return Si>0}var ms,ki=(ms=Mt,class{constructor(e){p(this,ms);p(this,"run",()=>{var e;return(e=this[Mt])==null?void 0:e.run()});p(this,"destroy",()=>{var e;(e=this[Mt])==null||e.destroy(),this[Mt]=void 0});this[Mt]=e,A(e,$s.Destroy,()=>{this[Mt]=void 0})}}),ht=new Map,K,Ct,U,it,Y,Et,St,B,kt,at,ae=(at=class{constructor(t){g(this,K,new Set);g(this,Ct,new Set);g(this,U,new Map);g(this,it,new WeakMap);g(this,Y,new Map);g(this,Et,new Set);g(this,St,new Set);g(this,B);g(this,kt);if(t!=null&&t instanceof at)return t;if(t!=null||(t=this),ht.has(t))return ht.get(t);f(this,kt,t),ht.set(t,this),ot(this)}static get(t){if(t!=null)return t instanceof at?t:ht.get(t)}static findOrCreate(t){if(t==null)throw new Error("Cannot create a group with a null object");return new at(t)}static destroy(t){console.warn("SignalGroup.destroy(obj) is deprecated. Use SignalGroup.delete(obj) instead."),at.delete(t)}static delete(t){var s;(s=ht.get(t))==null||s.clear()}static clear(){for(let t of ht.values())t.clear();ht.clear()}attachGroup(t){if(t===this)throw new Error("Cannot attach a group to itself");return r(this,K).add(t),r(t,B)&&r(t,B)!==this&&r(r(t,B),K).delete(t),f(t,B,this),t}detachGroup(t){return t!==this&&r(this,K).has(t)&&(r(this,K).delete(t),f(t,B,void 0)),t}attachSignal(t){let s=P(t);if(s!=null&&s.destroyed)throw new Error("Cannot attach a destroyed signal to a group");return s&&r(this,Ct).add(s),t}attachSignalByName(t,s){if(s){this.attachSignal(s);let i=P(s);r(this,U).set(t,i),r(this,Y).has(t)?r(this,Y).get(t).push(i):r(this,Y).set(t,[i]),r(this,it).has(i)?r(this,it).get(i).add(t):r(this,it).set(i,new Set([t]))}else r(this,U).delete(t);return s}hasSignal(t){var s;return r(this,U).has(t)||!!((s=r(this,B))!=null&&s.hasSignal(t))}signal(t){var s,i,n;return(n=(s=r(this,U).get(t))==null?void 0:s.object)!=null?n:(i=r(this,B))==null?void 0:i.signal(t)}detachSignal(t){let s=P(t);if(s&&(r(this,Ct).delete(s),r(this,it).has(s))){let i=r(this,it).get(s);for(let n of i)if(r(this,Y).has(n)){let o=r(this,Y).get(n);o.splice(o.indexOf(s),1),o.length===0?(r(this,U).delete(n),r(this,Y).delete(n)):r(this,U).get(n)===s&&r(this,U).set(n,o.at(-1))}i.clear(),r(this,it).delete(s)}return t}attachEffect(t){return r(this,Et).add(t),t}runEffects(){for(let t of r(this,Et))t.run();for(let t of r(this,K))t.runEffects()}attachLink(t){if(t!=null&&t.isDestroyed)throw new Error("Cannot attach a destroyed link to a group");return t&&r(this,St).add(t),t}detachLink(t){return t&&r(this,St).delete(t),t}destroy(){console.warn("SignalGroup#destroy is deprecated. Use SignalGroup#clear instead."),this.clear()}clear(){var t;E(this,Yt,this),$(this);for(let s of r(this,K))s.clear();for(let s of r(this,Et))s.destroy();for(let s of r(this,Ct))G(s);for(let s of r(this,St))s.destroy();r(this,K).clear(),r(this,Ct).clear(),r(this,U).clear(),r(this,Y).clear(),r(this,Et).clear(),r(this,St).clear(),(t=r(this,B))==null||t.detachGroup(this),r(this,kt)&&(ht.delete(r(this,kt)),f(this,kt,void 0))}},K=new WeakMap,Ct=new WeakMap,U=new WeakMap,it=new WeakMap,Y=new WeakMap,Et=new WeakMap,St=new WeakMap,B=new WeakMap,kt=new WeakMap,at),se,ie,ws,Ns=(ws=class{constructor(e="id",t=1){g(this,se);g(this,ie);f(this,se,e),f(this,ie,t)}make(){return Symbol(\`\${r(this,se)}\${Ke(this,ie)._++}\`)}},se=new WeakMap,ie=new WeakMap,ws),ze=[],Vs=()=>ze.at(-1),Ai=(e,t)=>{ze.push(e);try{return t()}finally{ze.pop()}},Pi=e=>e!=null&&typeof e.then=="function",j,lt,X,At,dt,ut,Pt,Dt,$s=(j=class{constructor(t,s){p(this,"id");p(this,"callback");g(this,lt);g(this,X,new Set);g(this,At,new Set);g(this,dt,new Map);g(this,ut,new Set);p(this,"parentEffect");p(this,"childEffects",[]);p(this,"curChildEffectSlot",0);p(this,"autorun",!0);p(this,"shouldRun",!0);p(this,"priority");g(this,Pt);g(this,Dt,!1);p(this,"run",()=>{if(r(this,Dt)||!this.shouldRun)return;let t=Ei();t?t.batch(this.id,this.priority):(this.runCleanupCallback(),this.destroyChildEffects(),this.curChildEffectSlot=0,this.shouldRun=!1,E(zs,this.id,this.id),this.hasStaticDeps()?f(this,lt,this.callback()):(f(this,At,new Set(r(this,X))),f(this,lt,Ai(this,this.callback)),this.cleanupLostSignals(),r(this,ut).clear()))});p(this,"destroy",()=>{r(this,Dt)||(E(this,j.Destroy,this),$(this),E(vt,Ci,this),this.runCleanupCallback(),this.destroyChildEffects(),$(ye,this),$(vt,this),$(Nt,this),f(this,Dt,!0),r(this,X).clear(),r(this,At).clear(),r(this,dt).clear(),r(this,ut).clear(),--j.count)});var n,o;ot(this),this.callback=t;let i;(s==null?void 0:s.attach)!=null&&(i=ae.findOrCreate(s.attach),i.attachEffect(this)),this.autorun=(n=s==null?void 0:s.autorun)!=null?n:!0,f(this,Pt,s!=null&&s.dependencies?s.dependencies.map(a=>{switch(typeof a){case"string":case"symbol":return i.signal(a);default:return a}}):void 0),this.id=j.idGen.make(),this.priority=(o=s==null?void 0:s.priority)!=null?o:0,V(vt,this.id,Xt,this),++j.count}hasStaticDeps(){return r(this,Pt)!=null&&r(this,Pt).length>0}saveSignalsFromDeps(){for(let t of r(this,Pt))this.whenSignalIsRead(P(t).id)}static createEffect(t,s,i){let n=Array.isArray(s)?s:void 0,o=n?i!=null?i:{dependencies:n}:s;o&&n&&(o.dependencies=n);let a,d=Vs();return d!=null?(a=d.getCurrentChildEffect(),a==null&&(a=new j(t,o),d.attachChildEffect(a),E(vt,is,a)),d.curChildEffectSlot++):(a=new j(t,o),E(vt,is,a)),a.hasStaticDeps()?a.saveSignalsFromDeps():a.autorun&&a.run(),new ki(a)}getCurrentChildEffect(){return this.childEffects[this.curChildEffectSlot]}attachChildEffect(t){this.childEffects.push(t),this.parentEffect=this}[Xt](){this.shouldRun=!0,this.autorun&&this.run()}whenSignalIsRead(t){r(this,At).delete(t),r(this,X).has(t)||(r(this,X).add(t),r(this,dt).set(t,[V(ye,t,this.priority,Xt,this),A(Nt,t,ss,this)]))}[ss](t){!r(this,ut).has(t)&&r(this,X).has(t)&&(r(this,ut).add(t),this.unsubscribeSignal(t),r(this,ut).size===r(this,X).size&&this.destroy())}cleanupLostSignals(){for(let t of r(this,At))this.unsubscribeSignal(t),r(this,X).delete(t)}destroyChildEffects(){for(let t of this.childEffects)t.destroy();this.childEffects.length=0}unsubscribeSignal(t){r(this,dt).has(t)&&(r(this,dt).get(t).forEach(s=>{s()}),r(this,dt).delete(t))}runCleanupCallback(){if(r(this,lt)!=null){let t=r(this,lt);f(this,lt,void 0),Pi(t)?Promise.resolve(t).then(s=>{typeof s=="function"&&s()}):t()}}},lt=new WeakMap,X=new WeakMap,At=new WeakMap,dt=new WeakMap,ut=new WeakMap,Pt=new WeakMap,Dt=new WeakMap,p(j,"idGen",new Ns("ef")),p(j,"Destroy","destroy"),p(j,"count",0),j),Vt=(...e)=>$s.createEffect(...e),_t=new WeakMap,Oi=e=>{let t=_t.get(e);return t||(t={},_t.set(e,t)),t},te=(e,t)=>{var s,i;return(i=(s=_t.get(e))==null?void 0:s.signals)==null?void 0:i.get(t)},ji=(e,t,s)=>{var n;let i=Oi(e);(n=i.signals)!=null||(i.signals=new Map),i.signals.set(t,s)};function Mi(...e){for(let t of e)if(_t.has(t)){let s=_t.get(t);if(s.signals){for(let i of s.signals.values())G(i);s.signals.clear(),s.signals=void 0}}}function Ti(e){let t=P(ee(e)?e:te(...e));t!=null&&!t.muted&&!t.destroyed&&Fe(t.id,t.value,{touch:!0})}function Ue(e){var t,s;return ee(e)?(t=P(e))==null?void 0:t.value:(s=P(te(...e)))==null?void 0:s.value}var Cs,Di=(Cs=_,class{constructor(e){p(this,Cs);this[_]=e}get get(){return this[_].reader}get set(){return this[_].writer}get value(){return Ue(this.get)}set value(e){this.set(e)}onChange(e){let{destroy:t}=Vt(()=>e(this.value),[this.get]);return t}get muted(){return this[_].muted}set muted(e){this[_].muted=e}touch(){Ti(this)}destroy(){G(this)}}),xi=new Ns("si");function as(e){var t;Fs()||((t=Vs())==null||t.whenSignalIsRead(e))}function Fe(e,t,s){Fs()||E(ye,e,t,s)}var ee=e=>e!=null&&e[_]!=null,Li=e=>{let t=s=>{var i;return s?Vt(()=>(e.destroyed||as(e.id),s(e.value)),[t]):e.destroyed||((i=e.beforeRead)==null||i.call(e),as(e.id)),e.value};return Object.defineProperty(t,_,{value:e}),t},Ot,W,Is=(Ot=class{constructor(t,s){p(this,"id");p(this,"lazy");p(this,"compare");p(this,"beforeRead");p(this,"muted",!1);p(this,"destroyed",!1);g(this,W);p(this,"valueFn");p(this,"reader");p(this,"writer",(t,s)=>{var o,a,d,y;let i=(o=s==null?void 0:s.lazy)!=null?o:!1,n=(d=(a=s==null?void 0:s.compare)!=null?a:this.compare)!=null?d:((m,w)=>m===w);if((i!==this.lazy||i&&t!==this.valueFn||!i&&!n(t,r(this,W)))&&(i?(f(this,W,void 0),this.valueFn=t,this.lazy=!0):(f(this,W,t),this.valueFn=void 0,this.lazy=!1),!this.muted&&!this.destroyed)){Fe(this.id,r(this,W));return}(y=s==null?void 0:s.touch)!=null&&y&&Fe(this.id,r(this,W),{touch:!0})});p(this,"object");this.id=xi.make(),++Ot.instanceCount,this.lazy=t,this.lazy?(this.value=void 0,this.valueFn=s):(this.value=s,this.valueFn=void 0),this.reader=Li(this),this.object=new Di(this)}get[_](){return this}get value(){return this.lazy&&(f(this,W,this.valueFn()),this.valueFn=void 0,this.lazy=!1),r(this,W)}set value(t){f(this,W,t)}},W=new WeakMap,p(Ot,"instanceCount",0),Ot),P=e=>e==null?void 0:e[_];function k(e=void 0,t){var i;let s;if(ee(e))s=P(e);else{let n=(i=t==null?void 0:t.lazy)!=null?i:!1;s=new Is(n,e),s.beforeRead=t==null?void 0:t.beforeRead,s.compare=t==null?void 0:t.compare}return(t==null?void 0:t.attach)!=null&&ae.findOrCreate(t.attach).attachSignal(s),s.object}var G=(...e)=>{for(let t of e){let s=P(t);s!=null&&!s.destroyed&&(s.destroyed=!0,s.beforeRead=void 0,--Is.instanceCount,E(Nt,s.id,s.id))}};function Ri(e,t){var a,d;let s=k(),i=(t==null?void 0:t.attach)!=null?ae.findOrCreate(t.attach):void 0;i!=null&&(t!=null&&t.name?i.attachSignalByName(t.name,s):i.attachSignal(s));let n=Vt(()=>{Qt(()=>{s.set(e())})},{autorun:!((a=t==null?void 0:t.lazy)!=null&&a),priority:(d=t==null?void 0:t.priority)!=null?d:be.C,attach:i}),o=P(s);return o.beforeRead=n.run,A(Nt,o.id,n.destroy),s.get}var O,xt,Es,Gs=(Es=class{constructor(e){g(this,O,!1);g(this,xt);p(this,"source");p(this,"lastValue");p(this,"isDestroyed",!1);ot(this),this.source=P(e),f(this,xt,V(ye,this.source.id,(t,s)=>{!r(this,O)&&!this.isDestroyed&&((s==null?void 0:s.touch)===!0?this.touch():this.write())})),A(Nt,this.source.id,()=>this.destroy())}attach(e){let t=ae.findOrCreate(e);return t.attachLink(this),A(this,Yt,()=>{t.detachLink(this)}),t}nextValue(){return new Promise((e,t)=>{let s=[],i=()=>s.forEach(n=>{n()});s.push(A(this,Bt,n=>{i(),e(n)}),A(this,Yt,()=>{i(),t()}))})}asyncValues(e){return Ye(this,null,function*(){Ge(this,Bt);try{let t=0;for(;!this.isDestroyed;)try{let s=yield new Ee(this.nextValue());if(e&&e(s,t++))break;yield s}catch(s){break}}finally{ge(this,Bt)}})}destroy(){var e;this.isDestroyed||((e=r(this,xt))==null||e.call(this),f(this,xt,void 0),E(this,Yt,this),ge(this,Bt),$(this),this.lastValue=void 0,this.isDestroyed=!0,Object.freeze(this))}get isMuted(){return r(this,O)}mute(){return!this.isDestroyed&&!r(this,O)&&(f(this,O,!0),E(this,rs,this)),this}unmute(){return!this.isDestroyed&&r(this,O)&&(f(this,O,!1),E(this,ns,this)),this}toggleMute(){return this.isDestroyed||(f(this,O,!r(this,O)),E(this,r(this,O)?rs:ns,this)),r(this,O)}updateValue(e){if(!r(this,O)&&!this.isDestroyed){let{value:t}=this.source;e(t),E(this,Bt,t),this.lastValue=t}}},O=new WeakMap,xt=new WeakMap,Es),zi=class extends Gs{constructor(t,s){super(t);p(this,"target");this.target=P(s),A(Nt,this.target.id,()=>this.destroy()),this.touch()}touch(){return this.updateValue(t=>{this.target.writer(t,{touch:!0})}),this}write(){this.updateValue(t=>{this.target.writer(t)})}},Fi=class extends Gs{constructor(t,s){super(t);p(this,"target");this.target=s,this.touch()}touch(){return this.updateValue(t=>{this.target(t)}),this}write(){this.updateValue(t=>{this.target(t)})}},de=new Map;function et(e,t,s){var m;let i=P(e),n;if(de.has(i)){n=de.get(i);let w=(m=P(t))!=null?m:t;if(n.has(w))return n.get(w)}else n=new Map,de.set(i,n);let o=P(t),a=o!=null?new zi(e,o):new Fi(e,t),d=s==null?void 0:s.attach;d&&a.attach(d);let y=o!=null?o:t;return n.set(y,a),A(a,Yt,()=>{n.delete(y),n.size===0&&de.delete(i)}),a}var D,Lt,Ni=(Lt=class{constructor(){g(this,D,new Map)}static fromProps(t,s){let i=new Lt,n=s?s.map(o=>[o,t[o]]):Object.entries(t);for(let[o,a]of n)r(i,D).set(o,k(a));return i}keys(){return r(this,D).keys()}signals(){return r(this,D).values()}entries(){return r(this,D).entries()}clear(){for(let t of r(this,D).values())t.destroy();r(this,D).clear()}has(t){return r(this,D).has(t)}get(t){if(!r(this,D).has(t)){let s=k();return r(this,D).set(t,s),s}return r(this,D).get(t)}update(t){t.size&&Qt(()=>{for(let[s,i]of t.entries())this.get(s).set(i)})}updateFromProps(t,s){Qt(()=>{let i=s?s.map(n=>[n,t[n]]):Object.entries(t);for(let[n,o]of i)this.get(n).set(o)})}},D=new WeakMap,Lt),Oe=e=>e!=null?e:void 0;function Vi(e,t,s,i,n,o){function a(I){if(I!==void 0&&typeof I!="function")throw new TypeError("Function expected");return I}for(var d=i.kind,y=d==="getter"?"get":d==="setter"?"set":"value",m=!t&&e?i.static?e:e.prototype:null,w=t||(m?Object.getOwnPropertyDescriptor(m,i.name):{}),h,l=!1,u=s.length-1;u>=0;u--){var c={};for(var v in i)c[v]=v==="access"?{}:i[v];for(var v in i.access)c.access[v]=i.access[v];c.addInitializer=function(I){if(l)throw new TypeError("Cannot add initializers after decoration has completed");o.push(a(I||null))};var T=(0,s[u])(d==="accessor"?{get:w.get,set:w.set}:w[y],c);if(d==="accessor"){if(T===void 0)continue;if(T===null||typeof T!="object")throw new TypeError("Object expected");(h=a(T.get))&&(w.get=h),(h=a(T.set))&&(w.set=h),(h=a(T.init))&&n.unshift(h)}else(h=a(T))&&(d==="field"?n.unshift(h):w[y]=h)}m&&Object.defineProperty(m,i.name,w),l=!0}function os(e,t,s){for(var i=arguments.length>2,n=0;n<t.length;n++)s=i?t[n].call(e,s):t[n].call(e);return i?s:void 0}function $i(e){return function(t,s){var o;let i=(e==null?void 0:e.name)||s.name,n=!!((o=e==null?void 0:e.readAsValue)!=null&&o);return{get(){let a=te(this,i);if(a)return n?a.value:a.get()},set(a){var d;(d=te(this,i))==null||d.set(a)},init(a){let d=k(a,e);return ji(this,i,d),ae.findOrCreate(this).attachSignalByName(i,d),d.value}}}}var Tt="value",Ne=(()=>{var i,n,o,a,ce,Jt,m;let e,t=[],s=[];return m=class{constructor(h){g(this,a);g(this,i);g(this,n);g(this,o);f(this,i,[]),f(this,o,os(this,t,void 0)),this.value$=os(this,s),Ge(this,Tt),this.value$=te(this,Tt),this.value$.onChange(l=>E(this,Tt,l)),h&&this.add(...h)}get value(){return r(this,o)}set value(h){f(this,o,h)}add(...h){return r(this,i).push(...h),C(this,a,Jt).call(this),C(this,a,ce).call(this,h)}unshift(...h){return r(this,i).unshift(...h),C(this,a,Jt).call(this),C(this,a,ce).call(this,h)}remove(...h){C(this,a,ce).call(this,h)()}clear(){r(this,i).length=0,C(this,a,Jt).call(this)}dispose(){var h;this.clear(),(h=r(this,n))==null||h.destroy(),f(this,n,void 0),ge(this,Tt),$(this),this.value$.destroy(),Mi(this)}},i=new WeakMap,n=new WeakMap,o=new WeakMap,a=new WeakSet,ce=function(h){return()=>{for(let l of h){let u=r(this,i).indexOf(l);u!==-1&&r(this,i).splice(u,1)}C(this,a,Jt).call(this)}},Jt=function(){var h;(h=r(this,n))==null||h.destroy(),r(this,i).length===0?(f(this,n,void 0),this.value=void 0):(f(this,n,Vt(()=>{let l;for(let u of r(this,i)){let c=Ue(u);if(c!=null){l=c;break}}this.value=l},r(this,i))),r(this,n).run())},(()=>{let h=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;e=[$i({name:Tt})],Vi(m,null,e,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:l=>"value"in l,get:l=>l.value,set:(l,u)=>{l.value=u}},metadata:h},t,s),h&&Object.defineProperty(m,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:h})})(),m.Value=Tt,m})(),hs=Symbol("onCreate"),mt=Symbol("onDestroy"),Ii=Symbol("onParentChanged"),Us=Symbol("onViewEvent"),je=new Map,Me=!1,Gi=(e,t)=>{je.set(e,t),Me||(Me=!0,queueMicrotask(()=>{Me=!1;let s=Array.from(je.entries());je.clear();for(let[i,n]of s)i.set(n)}))},Z,Rt,ct,q,ft,z,x,rt,F,zt,M,Ve,pt,Kt,fe,Ss,Ui=(Ss=class{constructor(e,t){g(this,M);g(this,Z);g(this,Rt);g(this,ct,new Ni);g(this,q,new Map);g(this,ft,new Map);g(this,z);g(this,x);g(this,rt,new Set);g(this,F,[]);g(this,zt,0);g(this,pt);f(this,Z,e),f(this,Rt,t),A(this,mt,be.Min,this)}get kernel(){return r(this,Z)}get uuid(){return r(this,Rt)}get order(){return r(this,zt)}set order(e){r(this,zt)!==e&&(f(this,zt,e),r(this,z)&&this.parent.resortChildren())}get parentUuid(){return r(this,z)||void 0}set parentUuid(e){r(this,z)!==e&&(this.removeFromParent(),f(this,z,e||void 0),f(this,x,e?r(this,Z).getEntity(e):void 0),r(this,x)&&r(this,x).addChild(this))}get parent(){return!r(this,x)&&r(this,z)&&f(this,x,r(this,Z).getEntity(r(this,z))),r(this,x)}set parent(e){this.parentUuid=e==null?void 0:e.uuid}get hasParent(){return!!r(this,z)}get children(){return r(this,F)}traverse(e){e(this);for(let t of r(this,F))t.traverse(e)}[mt](){var e;r(this,ct).clear(),$(this);for(let t of r(this,ft).values())t.cleanup(),t.signal.destroy();r(this,ft).clear();for(let t of r(this,q).values())t.context.set(void 0),t.unsubscribePathValue(),(e=t.unsubscribeFromParent)==null||e.call(t),t.valuePath.dispose(),t.inherited.destroy(),t.provide.destroy(),t.context.destroy();f(this,z,void 0),f(this,x,void 0),r(this,rt).clear(),r(this,F).length=0}addChild(e){var t;if(r(this,F).length===0){r(this,rt).add(e.uuid),r(this,F).push(e);return}if(r(this,rt).has(e.uuid))throw new Error(\`child with uuid: \${e.uuid} already exists! parentUuid: \${this.uuid}\`);r(this,rt).add(e.uuid),r(this,F).push(e),this.resortChildren();for(let[,s]of r(e,q))C(t=e,M,fe).call(t,s)}resortChildren(){r(this,F).sort((e,t)=>e.order-t.order)}removeChild(e){r(this,rt).has(e.uuid)&&(r(this,rt).delete(e.uuid),r(this,F).splice(r(this,F).indexOf(e),1))}removeFromParent(){if(r(this,x)){r(this,x).removeChild(this),f(this,x,void 0),f(this,z,void 0);for(let[,e]of r(this,q))e.unsubscribeFromParent&&(e.unsubscribeFromParent(),e.unsubscribeFromParent=void 0)}}reSubscribeToParentContexts(){for(let[,e]of r(this,q))C(this,M,fe).call(this,e)}dispatchMessageToView(e,t,s,i=!1){r(this,Z).dispatchMessageToView({uuid:r(this,Rt),type:e,data:t,transferables:s,traverseChildren:i})}dispatchViewEvents(e){for(let{type:t,data:s}of e)E(this,Us,t,s)}dispatchViewEvent(e,t){this.dispatchViewEvents([{type:e,data:t}])}getPropertyReader(e){return C(this,M,Ve).call(this,e).get}getPropertyWriter(e){return C(this,M,Ve).call(this,e).set}setProperties(e){this.clearTruthyPropsCache(),Qt(()=>{for(let[t,s]of e)this.setProperty(t,s)})}setProperty(e,t){this.getPropertyWriter(e)(t)}getProperty(e){return Ue(this.getPropertyReader(e))}propKeys(){return Array.from(r(this,ct).keys())}propEntries(){return Array.from(r(this,ct).entries()).map(([e,t])=>[e,t.value])}clearTruthyPropsCache(){f(this,pt,void 0)}truthyProps(){if(r(this,pt))return r(this,pt).size?r(this,pt):void 0;let e=new Set;for(let[t,s]of r(this,ct).entries())if(typeof t=="string"){let i=s.value;i!=null&&i!==!1&&i!==""&&e.add(t)}return f(this,pt,e),e.size?e:void 0}hasContext(e){return r(this,q).has(e)}useContext(e){return C(this,M,Kt).call(this,e).context.get}useParentContext(e){return C(this,M,Kt).call(this,e).inherited.get}provideContext(e){return C(this,M,Kt).call(this,e).provide}provideGlobalContext(e){if(r(this,ft).has(e))return r(this,ft).get(e).signal;let t=r(this,Z).findOrCreateRootContext(e),s=k(),i=t.add(s);return r(this,ft).set(e,{cleanup:i,signal:s}),s}},Z=new WeakMap,Rt=new WeakMap,ct=new WeakMap,q=new WeakMap,ft=new WeakMap,z=new WeakMap,x=new WeakMap,rt=new WeakMap,F=new WeakMap,zt=new WeakMap,M=new WeakSet,Ve=function(e){return r(this,ct).get(e)},pt=new WeakMap,Kt=function(e){if(r(this,q).has(e))return r(this,q).get(e);let t=k(),s=k(),i=k(),n=new Ne([s,t]),o=V(n,Ne.Value,d=>{Gi(i,d)}),a={name:e,inherited:t,provide:s,context:i,valuePath:n,unsubscribePathValue:o};return r(this,q).set(e,a),C(this,M,fe).call(this,a),a},fe=function(e){var t,s;if((t=e.unsubscribeFromParent)==null||t.call(e),e.unsubscribeFromParent=void 0,this.parent){let i=C(s=this.parent,M,Kt).call(s,e.name),n=et(i.context,e.inherited);e.unsubscribeFromParent=n.destroy.bind(n)}else{let i=r(this,Z).findOrCreateRootContext(e.name),n=et(i.value$,e.inherited);e.unsubscribeFromParent=n.destroy.bind(n)}},Ss);function Bi(e,t){e.indexOf(t)===-1&&e.push(t)}var ls=e=>{let t=e.split("@").map(s=>s.trim());if(t.length===2&&t[1])return t[0]?{key:\`\${t[0]}@\${t[1]}\`,prop:t[1],token:t[0]}:{key:t[1],prop:t[1]}},ue=(e,t)=>{for(let s of t)e.add(s)},Wi=(e,t)=>{if(e!=null)for(let s of e.constructors)t.add(s)},nt,L,J,ks,Bs=(ks=class{constructor(){g(this,nt,new Map);g(this,L,new Map);g(this,J,new Map)}static get(e){return e!=null?e:qi}define(e,t){r(this,nt).has(e)?Bi(r(this,nt).get(e).constructors,t):r(this,nt).set(e,{token:e,constructors:[t]})}appendRoute(e,t){let s=ls(e);s?r(this,J).has(s.key)?ue(r(this,J).get(s.key).routes,t):r(this,J).set(s.key,{routes:new Set(t),token:s.token}):r(this,L).has(e)?ue(r(this,L).get(e),t):r(this,L).set(e,new Set(t))}clearRoute(e){let t=ls(e);t?r(this,J).delete(t.key):r(this,L).delete(e)}findTokensByRoute(e,t){let s=new Set([e]),i=r(this,L).has(e)?[...r(this,L).get(e)]:[];for(;i.length;){let n=i.shift();s.has(n)||(s.add(n),r(this,L).has(n)&&i.push(...Array.from(r(this,L).get(n)).filter(o=>!s.has(o))))}if(t){for(let o of t)r(this,J).has(o)&&ue(s,r(this,J).get(o).routes);let n;do{n=s.size;for(let o of new Set(s))for(let a of t){let d=\`\${o}@\${a}\`;r(this,J).has(d)&&ue(s,r(this,J).get(d).routes)}}while(n!==s.size)}return s}findConstructors(e,t){let s=this.findTokensByRoute(e,t),i=new Set;for(let n of s)Wi(r(this,nt).get(n),i);return i.size>0?Array.from(i):void 0}hasToken(e){return r(this,nt).has(e)}hasRoute(e){return r(this,L).has(e)}clear(){r(this,nt).clear(),r(this,L).clear()}},nt=new WeakMap,L=new WeakMap,J=new WeakMap,ks),qi=new Bs,st;(function(e){e[e.CreateAndDestroy=0]="CreateAndDestroy",e[e.JustCreate=1]="JustCreate",e[e.DestroyOnly=2]="DestroyOnly"})(st||(st={}));var ds=e=>e.displayName||e.name,us=!1,cs=!1,fs=!1,ps=!1,gs=!1,S,H,Ft,re,Q,gt,As,Ji=(As=class{constructor(e){g(this,S);g(this,H);g(this,Ft);g(this,re);g(this,Q);g(this,gt);this.logger=new si("Kernel"),f(this,S,new Map),f(this,H,new Set),f(this,Q,!0),f(this,gt,new Map),ot(this),this.registry=Bs.get(e)}getEntity(e){var s;let t=(s=r(this,S).get(e))==null?void 0:s.entity;if(!t)throw new Error(\`entity with uuid "\${e}" not found!\`);return t}hasEntity(e){return r(this,S).has(e)}traverseLevelOrderBFS(e=!1){if(r(this,Q)){let t=new Map,s=(i,n)=>{let o=this.getEntity(i);t.has(n)?t.get(n).push(o):t.set(n,[o]);for(let a of o.children)s(a.uuid,n+1)};r(this,H).forEach(i=>{s(i,0)}),f(this,Ft,Array.from(t.entries()).sort((i,n)=>i[0]-n[0]).flatMap(([,i])=>i)),f(this,re,r(this,Ft).slice().reverse()),f(this,Q,!1)}return e?r(this,re):r(this,Ft)}getEntityGraph(){return Array.from(r(this,H)).map(e=>this.getEntityGraphNode(e))}getEntityGraphNode(e){if(!r(this,S).has(e))return;let{token:t,entity:s}=r(this,S).get(e);return{token:t,entity:s,props:Object.fromEntries(s.propEntries()),children:s.children.map(i=>this.getEntityGraphNode(i.uuid))}}upgradeEntities(){let e=new Map;for(let t of this.traverseLevelOrderBFS(!0))e.set(t.uuid,this.updateShadowObjects(t.uuid,st.DestroyOnly));for(let t of this.traverseLevelOrderBFS(!1))this.updateShadowObjects(t.uuid,st.JustCreate,e.get(t.uuid));e.clear()}run(e){this.logger.isDebug&&this.logger.debug("sync",e),Qt(()=>{for(let t of e.changeTrail)this.parse(t)})}parse(e){switch(e.type){case tt.CreateEntities:this.createEntity(e.uuid,e.token,e.parentUuid,e.order,e.properties),f(this,Q,!0);break;case tt.DestroyEntities:this.destroyEntity(e.uuid),f(this,Q,!0);break;case tt.SetParent:this.setParent(e.uuid,e.parentUuid,e.order),f(this,Q,!0);break;case tt.UpdateOrder:this.updateOrder(e.uuid,e.order),f(this,Q,!0);break;case tt.ChangeProperties:this.changeProperties(e.uuid,e.properties);break;case tt.ChangeToken:this.changeToken(e.uuid,e.token);break;case tt.SendEvents:this.dispatchEventsToEntity(e.uuid,e.events);break}}createEntity(e,t,s,i=0,n){let o=new Ui(this,e);o.order=i;let a={token:t,entity:o,usedConstructors:new Map};r(this,S).set(e,a),s&&(o.parentUuid=s),o.hasParent||r(this,H).add(e),n&&o.setProperties(n),this.createShadowObjects(e)}destroyEntity(e){if(!r(this,S).has(e))return;let{entity:t,usedConstructors:s}=r(this,S).get(e);t.removeFromParent(),E(t,mt,t),s.clear(),r(this,S).delete(t.uuid),r(this,H).delete(t.uuid)}setParent(e,t,s=0){let i=this.getEntity(e);i.parentUuid===t&&i.order===s||(i.removeFromParent(),i.order=s,i.parentUuid=t,i.hasParent?r(this,H).delete(e):r(this,H).add(e),i.reSubscribeToParentContexts(),queueMicrotask(()=>{this.logger.isDebug&&this.logger.debug("entity.onParentChanged",{uuid:e,parentUuid:t,order:s,entity:i}),E(i,Ii,i)}))}updateOrder(e,t){this.getEntity(e).order=t}dispatchEventsToEntity(e,t){var s;(s=this.getEntity(e))==null||s.dispatchViewEvents(t)}changeProperties(e,t){this.getEntity(e).setProperties(t),this.updateShadowObjects(e)}changeToken(e,t){if(!r(this,S).has(e))return;let s=r(this,S).get(e);s.token!==t&&(s.token=t,this.updateShadowObjects(e))}dispatchMessageToView(e){queueMicrotask(()=>{E(this,De,e)})}updateShadowObjects(e,t=st.CreateAndDestroy,s){let i=r(this,S).get(e);s!=null||(s=new Set(this.registry.findConstructors(i.token,i.entity.truthyProps())));let n=t===st.CreateAndDestroy||t===st.DestroyOnly,o=t===st.CreateAndDestroy||t===st.JustCreate;if(n){for(let[a,d]of i.usedConstructors)if(!s.has(a)){i.usedConstructors.delete(a);for(let y of d)this.destroyShadowObject(y,i.entity)}}if(o)for(let a of s)i.usedConstructors.has(a)||this.constructShadowObject(a,i);return s}constructShadowObject(e,t){let s=new Set,i=new Set,n=new Map,o=new Map,a=new Map,d=new Map,y=new Map,m=(h,l)=>{!gs&&l!=null&&typeof l=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useProperty()" is now passed as {compare} argument. Please update your code accordingly.'),gs=!0);let u=typeof l=="function"?{compare:l}:l,c=y.get(h);if(c===void 0){c=k(void 0,u).get,y.set(h,c);let v=et(t.entity.getPropertyReader(h),c);i.add(v.destroy.bind(v))}return c},w=ot(new e({entity:t.entity,provideContext(h,l,u){var T;!us&&u!=null&&typeof u=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideContext()" is now passed as {compare} argument. Please update your code accordingly.'),us=!0);let c=typeof u=="function"?{compare:u}:u,v=a.get(h);if(v==null){let I=ee(l),ve=I?void 0:Oe(l);if(v=k(ve,c!=null&&c.compare?{compare:c.compare}:void 0),I){let Gt=et(l,v);i.add(Gt.destroy.bind(Gt))}let It=et(v,t.entity.provideContext(h));i.add(It.destroy.bind(It)),a.set(h,v)}return v!=null&&((T=c==null?void 0:c.clearOnDestroy)==null||T)&&i.add(()=>{v.set(void 0)}),v},provideGlobalContext(h,l,u){var T;!cs&&u!=null&&typeof u=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "provideGlobalContext()" is now passed as {compare} argument. Please update your code accordingly.'),cs=!0);let c=typeof u=="function"?{compare:u}:u,v=d.get(h);if(v==null){let I=ee(l),ve=I?void 0:Oe(l);if(v=k(ve,c!=null&&c.compare?{compare:c.compare}:void 0),I){let Gt=et(l,v);i.add(Gt.destroy.bind(Gt))}let It=et(v,t.entity.provideGlobalContext(h));i.add(It.destroy.bind(It)),d.set(h,v)}return v!=null&&((T=c==null?void 0:c.clearOnDestroy)==null||T)&&i.add(()=>{v.set(void 0)}),v},useContext(h,l){!fs&&l!=null&&typeof l=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useContext()" is now passed as {compare} argument. Please update your code accordingly.'),fs=!0);let u=typeof l=="function"?{compare:l}:l,c=n.get(h);if(c===void 0){c=k(void 0,u).get,n.set(h,c);let v=et(t.entity.useContext(h),c);i.add(v.destroy.bind(v))}return c},useParentContext(h,l){!ps&&l!=null&&typeof l=="function"&&(console.warn('[shadow-objects] Deprecation Warning: The "isEqual" option of "useParentContext()" is now passed as {compare} argument. Please update your code accordingly.'),ps=!0);let u=typeof l=="function"?{compare:l}:l,c=o.get(h);if(c===void 0){c=k(void 0,u).get,o.set(h,c);let v=et(t.entity.useParentContext(h),c);i.add(v.destroy.bind(v))}return c},dispatchMessageToView(h,l,u,c=!1){t.entity.dispatchMessageToView(h,l,u,c)},useProperty:m,useProperties(h){let l={};for(let u in h)Object.hasOwn(h,u)&&(l[u]=m(h[u]));return l},createResource(h,l){let u=k(),c=Vt(()=>{let v=Oe(h());return u.set(v),v!==void 0&&l?()=>{l(v),u.set(void 0)}:()=>{u.set(void 0)}});return i.add(()=>{c.destroy(),u.set(void 0),G(u)}),u},createEffect(...h){let l=Vt(...h);return i.add(l.destroy),l},createSignal(...h){let l=k(...h);return i.add(()=>{G(l)}),l},createMemo(...h){let l=Ri(...h);return i.add(()=>{G(l)}),l},on(...h){let[l]=h;if(typeof l=="string"||typeof l=="symbol"||Array.isArray(l)){let c=V(t.entity,...h);return i.add(c),c}let u=V(...h);return i.add(u),Object.assign(()=>{i.delete(u),u()},u)},once(...h){let[l]=h;if(typeof l=="string"||typeof l=="symbol"||Array.isArray(l)){let c=A(t.entity,...h);return i.add(c),c}let u=A(...h);return i.add(u),Object.assign(()=>{i.delete(u),u()},u)},emit(...h){let[l]=h;typeof l=="string"||typeof l=="symbol"||Array.isArray(l)?E(t.entity,...h):E(...h)},onViewEvent(h){let l=V(t.entity,Us,(u,c)=>{h(u,c)});i.add(l)},onDestroy(h){s.add(h)}}));return this.logger.isInfo&&this.logger.info("create shadow-object",ds(e),{shadowObject:w,entity:t.entity}),A(t.entity,mt,be.Low,()=>{this.logger.isInfo&&this.logger.info("destroy shadow-object",ds(e),{shadowObject:w,entity:t.entity});for(let l of s)l();for(let l of i)l();for(let l of n.values())G(l);for(let l of o.values())G(l);for(let l of y.values())G(l);for(let l of a.values())G(l);for(let l of d.values())G(l);s.clear(),i.clear(),n.clear(),o.clear(),y.clear(),a.clear(),d.clear();let h=t.usedConstructors.get(e);h&&(h.delete(w),h.size===0&&t.usedConstructors.delete(e))}),t.usedConstructors.has(e)?t.usedConstructors.get(e).add(w):t.usedConstructors.set(e,new Set([w])),this.attachShadowObject(w,t.entity),w}createShadowObjects(e){var s;let t=r(this,S).get(e);(s=this.registry.findConstructors(t.token,t.entity.truthyProps()))==null||s.forEach(i=>{this.constructShadowObject(i,t)})}findShadowObjects(e){if(!r(this,S).has(e))return[];let{usedConstructors:t}=r(this,S).get(e);return Array.from(new Set(Array.from(t.values()).flatMap(s=>Array.from(s))))}attachShadowObject(e,t){V(t,e),typeof e[hs]=="function"&&e[hs](t)}destroyShadowObject(e,t){typeof e[mt]=="function"&&e[mt](t),E(e,mt,t),$(t,e)}findOrCreateRootContext(e){let t=r(this,gt).get(e);return t||(t=new Ne,r(this,gt).set(e,t)),t}destroy(){for(let e of r(this,gt).values())e.dispose();r(this,gt).clear();for(let e of this.traverseLevelOrderBFS().reverse())this.destroyEntity(e.uuid)}},S=new WeakMap,H=new WeakMap,Ft=new WeakMap,re=new WeakMap,Q=new WeakMap,gt=new WeakMap,As);async function Ws(e,t,s,i=!0){var o,a;if(s.has(t)){console.warn("importModule: skipping already imported module",t);return}else s.add(t);t.extends&&await Promise.all(t.extends.map(d=>Ws(e,d,s,!1)));let{registry:n}=e;if(t.define)for(let[d,y]of Object.entries(t.define))n.define(d,y);if(t.routes)for(let[d,y]of Object.entries(t.routes))n.appendRoute(d,y);await((a=(o=t.initialize)==null?void 0:o.call(t,{define:(d,y)=>n.define(d,y),kernel:e,registry:n}))!=null?a:Promise.resolve()),i&&e.upgradeEntities()}var Ki=e=>(typeof e=="string"&&(e=new URL(e,globalThis.location.href)),e.toString()),ne,yt,qs,Js,Ks,Ps,Yi=(Ps=class{constructor(e){g(this,yt);g(this,ne,new Set);var t,s;this.kernel=(t=e==null?void 0:e.kernel)!=null?t:new Ji,this.postMessage=(s=e==null?void 0:e.postMessage)!=null?s:self.postMessage.bind(self),V(this.kernel,De,"onMessageToView",this)}route(e){var t;switch(e.data.type){case Zs:C(this,yt,qs).call(this,e.data);break;case Hs:C(this,yt,Js).call(this,e.data);break;case Qs:C(this,yt,Ks).call(this,e.data);break;default:console.warn("[MessageRouter] unknown message",(t=e.data.type)!=null?t:e.data)}}onMessageToView(e){let i=e,{transferables:t}=i,s=Je(i,["transferables"]);this.postMessage({type:De,data:s},{transfer:t})}},ne=new WeakMap,yt=new WeakSet,qs=async function(e){try{let t=await import(Ki(e.importModule));t[ke]?(await Ws(this.kernel,t[ke],r(this,ne)),this.postMessage({type:Se,url:e.importModule})):this.postMessage({type:Se,url:e.importModule,error:\`module has no "\${ke}" export\`})}catch(t){console.error("[MessageRouter] failed to import module",t),this.postMessage({type:Se,url:e.importModule,error:\`\${t}\`})}},Js=function(e){try{this.kernel.run(e)}catch(t){console.error("[MessageRouter] failed to apply change trail",t),this.postMessage({type:Ze,serial:e.serial,error:t.toString()})}e.serial&&this.postMessage({type:Ze,serial:e.serial})},Ks=function(e){console.debug("[MessageRouter] on destroy",e),$(this.kernel,this),r(this,ne).clear(),this.postMessage({type:ti})},Ps),Xi=class{constructor(){this.onmessage=e=>{var t;e.data.type===N?globalThis[R]=e.data.config:((t=this.router)!=null||(this.router=new Yi),this.router.route(e))}}start(){self.addEventListener("message",this.onmessage),self.postMessage({type:_s})}};console.debug("@spearwolf/shadow-objects/WorkerRuntime: hello!");var Zi=new Xi;Zi.start();
|
|
22
|
+
/*! Bundled license information:
|
|
23
|
+
|
|
24
|
+
@spearwolf/eventize/lib/index.mjs:
|
|
25
|
+
(*!
|
|
26
|
+
=============================================================================
|
|
27
|
+
@spearwolf/eventize 4.0.2+build.20250807
|
|
28
|
+
\u2014 https://github.com/spearwolf/eventize.git
|
|
29
|
+
=============================================================================
|
|
30
|
+
|
|
31
|
+
Copyright 2015-2025 Wolfger Schramm
|
|
32
|
+
|
|
33
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
34
|
+
you may not use this file except in compliance with the License.
|
|
35
|
+
You may obtain a copy of the License at
|
|
36
|
+
|
|
37
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
38
|
+
|
|
39
|
+
Unless required by applicable law or agreed to in writing, software
|
|
40
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
41
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
42
|
+
See the License for the specific language governing permissions and
|
|
43
|
+
limitations under the License.
|
|
44
|
+
*)
|
|
45
|
+
|
|
46
|
+
@spearwolf/signalize/dist/signalize.DWPi0AAt.js:
|
|
47
|
+
@spearwolf/signalize/dist/index.js:
|
|
48
|
+
@spearwolf/signalize/dist/decorators.js:
|
|
49
|
+
(*!
|
|
50
|
+
@file @spearwolf/signalize - signals and effects for all
|
|
51
|
+
@author Wolfger Schramm <wolfger@spearwolf.de>
|
|
52
|
+
@version 0.27.2+esm.20260204
|
|
53
|
+
|
|
54
|
+
Copyright 2022-2026 Wolfger Schramm
|
|
55
|
+
|
|
56
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
57
|
+
you may not use this file except in compliance with the License.
|
|
58
|
+
You may obtain a copy of the License at
|
|
59
|
+
|
|
60
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
61
|
+
|
|
62
|
+
Unless required by applicable law or agreed to in writing, software
|
|
63
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
64
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
65
|
+
See the License for the specific language governing permissions and
|
|
66
|
+
limitations under the License.
|
|
67
|
+
|
|
68
|
+
*)
|
|
69
|
+
*/
|
|
70
|
+
`)}var qs=()=>new Kt;var Ne=(s,e,t=1e3,r)=>new Promise((i,n)=>{let o,l,a=()=>{clearTimeout(o),s.removeEventListener("message",l)};t!==0&&t!==1/0&&(o=setTimeout(()=>{a(),n(new Error(`Timeout waiting for message of type: ${e}`))},t)),l=f=>{if(f.data.type===e)try{(!r||r(f.data))&&(a(),i())}catch(w){a(),n(w.toString())}},s.addEventListener("message",l)});var xr=s=>{let e;if(s!=null&&Array.isArray(s))for(let t of s)t.transferables&&(e?e=[...e,...t.transferables]:e=t.transferables,delete t.transferables);return e},vt=class s{static{this.WorkerLoaded="workerLoaded"}#e;#t;#s;get isDestroyed(){return this.#t}get workerLoaded(){return le(this,s.WorkerLoaded)}constructor(){this.#t=!1,this.#s=0,this.logger=new T("RemoteWorkerEnv"),U(this,s.WorkerLoaded)}async start(){if(this.#e)return this.logger.isWarn&&this.logger.warn("already started"),this.workerLoaded.then(()=>{if(this.isDestroyed)throw"worker was destroyed"});let e=this.#e=qs();this.configureConsoleLogger(e);try{if(await Ne(e,vs,Ss),this.isDestroyed)throw"worker was destroyed";e.addEventListener("message",this.onMessageFromWorker.bind(this)),queueMicrotask(()=>{y(this,s.WorkerLoaded,this)})}catch(t){throw this.logger.error("failed to start",t),this.#e=void 0,t}}applyChangeTrail(e,t){let r=xr(e),i={type:ms,changeTrail:e},n=++this.#s;return t&&(i.serial=n),this.#e.postMessage(i,r),t?Ne(this.#e,ws,ks,o=>{if(o.error)throw o.error;return o.serial===n}):Promise.resolve()}importScript(e){return e=mt(e),this.#e.postMessage({type:ys,importModule:e}),Ne(this.#e,Cs,xs,t=>{if(t.error)throw t.error;return t.url===e})}destroy(){if(!this.#e)return;let e=this.#e;this.#e=void 0,this.#t=!0,e.postMessage({type:bs}),Ne(e,Es,As).finally(()=>{e.terminate()})}onMessageFromWorker(e){e.data?.type===pe?this.onMessageToView?.(e.data.data):this.logger.isDebug&&this.logger.debug("message from worker",e)}configureConsoleLogger(e){let t=`${j}.RemoteWorkerEnv.workerConfig`,r=JSON.parse(localStorage.getItem(t)??"{}");this.logger.isInfo&&this.logger.info("load console-logger worker config",{localStorageKey:t,workerConfig:r}),e.postMessage({type:j,config:{...T.sharedConfig,enable:this.logger.isEnabled,...r,...T.isEnabled?{}:{enable:!1}}})}};var $e,We=class extends ee{static{this.observedAttributes=[...ee.observedAttributes,rt,"src",it,N]}static{this.DefaultAutoSync="frame"}#e;#t;#s;#i;#r;constructor(){super(),this.isShaeWorkerElement=!0,this.shadowEnv=new I,this.logger=new T("ShaeWorkerElement"),this.autostart=!0,this.isConnected$=p(!1),this.autoSync$=p($e.DefaultAutoSync),this.src$=p(""),this.#e=!1,this.#t=!1,this.ns$.onChange(e=>{this.shadowEnv.view=M.get(e)}),m(this.shadowEnv,I.ContextCreated,()=>{this.#r?.run(),this.dispatchEvent(new CustomEvent(I.ContextCreated.toLowerCase(),{bubbles:!1,detail:{shadowEnv:this.shadowEnv}}))}),m(this.shadowEnv,I.ContextLost,()=>{this.dispatchEvent(new CustomEvent(I.ContextLost.toLowerCase(),{bubbles:!1,detail:{shadowEnv:this.shadowEnv}}))}),this.autoSync$.onChange(e=>{let t=this.hasAttribute(N),r=t?this.getAttribute(N):void 0;e===$e.DefaultAutoSync?t&&r!==e&&this.setAttribute(N,e):r!==e&&this.setAttribute(N,e)}),this.#a(),this.#n(),this.style.display="contents"}#n(){this.#r=C(()=>{let e=this.src$.get();e&&this.importScript(e)},{autorun:!1})}get shouldAutostart(){return this.autostart&&!je(this,Ds)}get autoSync(){return this.autoSync$.value}set autoSync(e){typeof e!="string"&&(e=e?$e.DefaultAutoSync:"no"),this.autoSync$.set(`${e}`.trim().toLowerCase())}get frameLoop(){return this.#s??=new ge,this.#s}[ge.OnFrame](){this.syncShadowObjects()}async importScript(e){if(!e)throw new Error("src is blank");let t=await this.shadowEnv.ready();return this.logger.isInfo&&this.logger.info("shadowEnv importScript:",e,{shadowEnv:t}),await t.envProxy.importScript(e),this}connectedCallback(){P(()=>{this.hasAttribute(N)&&this.autoSync$.set(this.getAttribute(N)),this.isConnected$.set(!0)}),this.shouldAutostart&&this.start()}disconnectedCallback(){this.isConnected$.set(!1),this.#o()}attributeChangedCallback(e){if(super.attributeChangedCallback(e),e===rt&&this.shadowEnv.envProxy!=null)throw new Error('Changing the "local" attribute after the shadowEnv has been created is not supported.');if(e===it&&this.#h(),e===N&&(this.autoSync=this.hasAttribute(N)?this.getAttribute(N):!0),e==="src"){let t=(this.getAttribute("src")||"").trim();this.src$.set(t),this.shadowEnv.isReady&&this.#r?.run()}}start(){if(!this.#t){if(this.#e=!1,this.shadowEnv.view??=M.get(this.ns),this.shadowEnv.envProxy==null){let e=je(this,rt)?new bt:new vt;this.shadowEnv.envProxy=e,this.#h()}this.#t=!0}return this.shadowEnv.ready()}destroy(){this.#i?.destroy(),this.#r?.destroy(),O(this.isConnected$,this.autoSync$,this.src$),this.shadowEnv.envProxy=void 0,this.shadowEnv.destroy()}#o(){this.#e||(this.#e=!0,queueMicrotask(()=>{this.#e&&this.destroy()}))}#a(){this.#i=C(()=>{if(this.isConnected$.get()){let e=(this.autoSync$.get()||$e.DefaultAutoSync).trim().toLowerCase(),t;if(["true","yes","on","frame","auto-sync"].includes(e))return this.logger.isDebug&&this.logger.debug("auto-sync",e,this),this.frameLoop.start(this),()=>{this.frameLoop.stop(this)};if(e.toLowerCase().endsWith("fps")){let r=parseInt(e,10);r>0?t=Math.floor(1e3/r):this.logger.isWarn&&this.logger.warn(`invalid auto-sync value: ${e}`)}else t=parseInt(e,10),isNaN(t)&&(t=void 0,["false","no","off"].includes(e)||this.logger.error(`invalid auto-sync value: ${e}`));if(t!==void 0&&t>0){this.logger.isDebug&&this.logger.debug("auto-sync interval (ms)",t,this);let r=setInterval(()=>{this.syncShadowObjects()},t);return()=>{clearInterval(r)}}else this.logger.isDebug&&this.logger.debug("auto-sync off",this)}},[this.autoSync$,this.isConnected$])}#h(){let e=this.shadowEnv.envProxy;e?.isLocalEnv&&(e.disableStructuredClone=this.hasAttribute(it))}};$e=We;customElements.define(Ls,We);globalThis.SHADOW_ENTS_BUNDLE_LOADED=!0;
|
|
22
71
|
/*! Bundled license information:
|
|
23
72
|
|
|
24
73
|
@spearwolf/eventize/lib/index.mjs:
|
|
@@ -42,4 +91,28 @@ var ne="*",rs=1,Pt=2,Rt=4,U=Symbol.for("eventize"),Ys="[eventize]",ze=s=>s===ne,
|
|
|
42
91
|
See the License for the specific language governing permissions and
|
|
43
92
|
limitations under the License.
|
|
44
93
|
*)
|
|
94
|
+
|
|
95
|
+
@spearwolf/signalize/dist/signalize.DWPi0AAt.js:
|
|
96
|
+
@spearwolf/signalize/dist/index.js:
|
|
97
|
+
@spearwolf/signalize/dist/decorators.js:
|
|
98
|
+
(*!
|
|
99
|
+
@file @spearwolf/signalize - signals and effects for all
|
|
100
|
+
@author Wolfger Schramm <wolfger@spearwolf.de>
|
|
101
|
+
@version 0.27.2+esm.20260204
|
|
102
|
+
|
|
103
|
+
Copyright 2022-2026 Wolfger Schramm
|
|
104
|
+
|
|
105
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
106
|
+
you may not use this file except in compliance with the License.
|
|
107
|
+
You may obtain a copy of the License at
|
|
108
|
+
|
|
109
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
110
|
+
|
|
111
|
+
Unless required by applicable law or agreed to in writing, software
|
|
112
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
113
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
114
|
+
See the License for the specific language governing permissions and
|
|
115
|
+
limitations under the License.
|
|
116
|
+
|
|
117
|
+
*)
|
|
45
118
|
*/
|
package/package.json
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spearwolf/shadow-objects",
|
|
3
3
|
"description": "a reactive entity-component framework that feels at home in the shadows",
|
|
4
|
-
"
|
|
4
|
+
"homepage": "https://github.com/spearwolf/shadow-objects/",
|
|
5
|
+
"version": "0.30.1",
|
|
5
6
|
"author": {
|
|
6
7
|
"name": "Wolfger Schramm",
|
|
7
8
|
"email": "wolfger@spearwolf.de",
|
|
8
9
|
"url": "https://www.spearwolf.de"
|
|
9
10
|
},
|
|
10
11
|
"license": "Apache-2.0",
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"registry": "https://registry.npmjs.org"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/spearwolf/shadow-objects.git"
|
|
18
|
+
},
|
|
11
19
|
"type": "module",
|
|
12
20
|
"main": "src/index.js",
|
|
13
21
|
"module": "src/index.js",
|
|
@@ -62,6 +70,6 @@
|
|
|
62
70
|
],
|
|
63
71
|
"dependencies": {
|
|
64
72
|
"@spearwolf/eventize": "^4.0.2",
|
|
65
|
-
"@spearwolf/signalize": "^0.
|
|
73
|
+
"@spearwolf/signalize": "^0.27.2"
|
|
66
74
|
}
|
|
67
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/Kernel.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,eAAe,
|
|
1
|
+
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../../src/in-the-dark/Kernel.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,eAAe,EAIf,gBAAgB,EAEhB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAgBD;;;;;;GAMG;AACH,qBAAa,MAAM;;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,QAAQ,CAAC,MAAM,gBAA+B;gBAWlC,QAAQ,CAAC,EAAE,QAAQ;IAK/B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ/B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,qBAAqB,CAAC,OAAO,UAAQ,GAAG,MAAM,EAAE;IAiChD,cAAc,IAAI,eAAe,EAAE;IAInC,OAAO,CAAC,kBAAkB;IAY1B,eAAe,IAAI,IAAI;IAcvB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAW3B,OAAO,CAAC,KAAK;IAoCb,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAwBjH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAcjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IA0B7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9C,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAIrE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAKrE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAY9C,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAMxD;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,qBAAqB;IA6W7B,OAAO,CAAC,mBAAmB;IAQ3B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAQnD,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAU3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAS3D,OAAO,IAAI,IAAI;CAUhB"}
|
|
@@ -419,7 +419,11 @@ export class Kernel {
|
|
|
419
419
|
// @ts-ignore
|
|
420
420
|
const unsub = on(...args);
|
|
421
421
|
unsubscribeSecondary.add(unsub);
|
|
422
|
-
return unsub;
|
|
422
|
+
// return unsub;
|
|
423
|
+
return Object.assign(() => {
|
|
424
|
+
unsubscribeSecondary.delete(unsub);
|
|
425
|
+
unsub();
|
|
426
|
+
}, unsub);
|
|
423
427
|
},
|
|
424
428
|
once(...args) {
|
|
425
429
|
const [firstArg] = args;
|
|
@@ -432,7 +436,22 @@ export class Kernel {
|
|
|
432
436
|
// @ts-ignore
|
|
433
437
|
const unsub = once(...args);
|
|
434
438
|
unsubscribeSecondary.add(unsub);
|
|
435
|
-
return unsub;
|
|
439
|
+
// return unsub;
|
|
440
|
+
return Object.assign(() => {
|
|
441
|
+
unsubscribeSecondary.delete(unsub);
|
|
442
|
+
unsub();
|
|
443
|
+
}, unsub);
|
|
444
|
+
},
|
|
445
|
+
emit(...args) {
|
|
446
|
+
const [firstArg] = args;
|
|
447
|
+
if (typeof firstArg === 'string' || typeof firstArg === 'symbol' || Array.isArray(firstArg)) {
|
|
448
|
+
// @ts-ignore
|
|
449
|
+
emit(entry.entity, ...args);
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
// @ts-ignore
|
|
453
|
+
emit(...args);
|
|
454
|
+
}
|
|
436
455
|
},
|
|
437
456
|
onViewEvent(callback) {
|
|
438
457
|
const unsub = on(entry.entity, onViewEvent, (type, data) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../../src/in-the-dark/Kernel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../../src/in-the-dark/Kernel.ts"],"names":[],"mappings":"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"}
|
package/src/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventizedObject, SubscribeArgs, on, once } from '@spearwolf/eventize';
|
|
1
|
+
import type { AnyEventNames, EventArgs, EventizedObject, SubscribeArgs, on, once } from '@spearwolf/eventize';
|
|
2
2
|
import type { CompareFunc, createEffect, createMemo, createSignal, Signal, SignalReader } from '@spearwolf/signalize';
|
|
3
3
|
import type { AppliedChangeTrail, ComponentChangeType, ImportedModule } from './constants.js';
|
|
4
4
|
import type { Entity } from './in-the-dark/Entity.js';
|
|
@@ -95,6 +95,21 @@ export interface ShadowObjectCreationAPI {
|
|
|
95
95
|
once(...args: SubscribeArgs): ReturnType<typeof once>;
|
|
96
96
|
once(...args: Parameters<typeof once>): ReturnType<typeof once>;
|
|
97
97
|
onViewEvent(callback: (type: string, data: unknown) => any): void;
|
|
98
|
+
/**
|
|
99
|
+
* Emit an event on the *entity* associated with this shadow object.
|
|
100
|
+
*
|
|
101
|
+
* @param eventNames - The name(s) of the event(s) to emit.
|
|
102
|
+
* @param eventArgs - Arguments to pass to the event listeners.
|
|
103
|
+
*/
|
|
104
|
+
emit(eventNames: AnyEventNames, ...eventArgs: EventArgs): void;
|
|
105
|
+
/**
|
|
106
|
+
* Emit an event on a specific *target* object.
|
|
107
|
+
*
|
|
108
|
+
* @param target - The object to emit the event on.
|
|
109
|
+
* @param eventNames - The name(s) of the event(s) to emit.
|
|
110
|
+
* @param eventArgs - Arguments to pass to the event listeners.
|
|
111
|
+
*/
|
|
112
|
+
emit(target: EventizedObject, eventNames: AnyEventNames, ...eventArgs: EventArgs): void;
|
|
98
113
|
onDestroy(callback: () => any): void;
|
|
99
114
|
}
|
|
100
115
|
export interface ShadowObjectConstructor {
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|