/*! All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
See https://js.geoscene.cn/4.33/geoscene/copyright.txt for details.
v4.33.18 */
import b from"./Y4DAIYBP.js";import a from"./DTE4O2DP.js";import{a as f}from"./MG6XDMQJ.js";import{r as d,y as v}from"./3VKC6PRK.js";export default $geoscene.t(([{watch:E},{b:b},{c:w,d:u,e:y}])=>{var k=(h,e)=>t=>x(t,h),m=class extends w{#o=new Map;#e;#t;constructor(e,t){super(e,t),new b(e);let s=this,o=s.instance,i=o.viewModel,r=o.visibleElements,c=new Proxy(this.exports,{get(n,l,p){return l==="viewModel"?i:l==="visibleElements"?r:Reflect.get(n,l,p)}});if(s.#t=o,s.instance=c,s.exports=c,i){let n={component:e,get exports(){return s.instance.viewModel}};y(s).set("viewModel","viewModel"),e.addController(n),i=u(e,new WeakRef(n),d(e)-1,i,s.#o)}s.instance.visibleElements&&(r=s.#s(o))}hostConnected(){this.instance=this.#t,super.hostConnected()}hostLoad(){this.#e=E(()=>this.component.el.view,e=>{let t=this.instance;!("view"in t)&&typeof t.viewModel=="object"?t.viewModel.view=e:t.view=e,!("map"in t)&&typeof t.viewModel=="object"?t.viewModel.map=e?.map:t.map=e?.map},{sync:!0,initial:!0})}hostUpdate(e){e.has("closed")&&(this.instance.visible=!this.component.closed)}hostLoaded(){let{el:e}=this.component;e.childElem??=document.createElement("div"),this.instance.container=e.childElem,this.component.closed!==void 0&&this.onLifecycle(()=>E(()=>this.instance.visible,t=>this.component.closed=!t,{initial:!0}))}#s(e){return new Proxy(e.visibleElements,{get:(t,s)=>{if(typeof s=="symbol"||s in Promise.prototype)return t[s];let o=[s],i=this.#n(o);return v(this.component,r=>{let c=r;this.component[c]=!1;let n=e.visibleElements??{},l;for(let a of o.slice(0,-1))if(typeof n[a]=="object"&&n[a]!==null)n=n[a];else{l=!!n[a];break}l===void 0&&(l=!!(n[o.slice(-1)[0]]??!0));let p=c.startsWith("hide")||c.startsWith("show")?c.startsWith("hide"):l;this.onUpdate(a=>{if(a.has(c)){let M=this.component[c];this.#i(o,M,p)}})},i)}})}#n(e){let t=new Proxy({},{get:(s,o)=>{let i=Reflect.get(s,o);return typeof o=="symbol"||o in Promise.prototype?i:(e.push(o),t)}});return t}#i(e,t,s){let o=this.instance.visibleElements??{};for(let r of e.slice(0,-1))(typeof o[r]!="object"||o[r]===null)&&(o[r]={}),o=o[r];let i=!!(s?!t:t);o[e.at(-1)]=i}hostDestroy(){this.#e?.remove(),super.hostDestroy()}},x=f(m);return k},"core/reactiveUtils",a,b)