/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import b from"./O3OUYCNG.js";import a from"./TV3LDXH7.js";import{a as f}from"./O6AHJXOV.js";import{i as d,u as v}from"./7H4DKXI2.js";export default $arcgis.t(([{watch:E},{b:b},{c:w,d:u,e:y}])=>{var k=(m,e)=>t=>g(t,m),h=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,l=new Proxy(this.exports,{get(n,c,p){return c==="viewModel"?i:c==="visibleElements"?r:Reflect.get(n,c,p)}});if(s.#t=o,s.instance=l,s.exports=l,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"),e.childElem.setAttribute("arcgis-widget-wrapped",""),this.instance.container=e.childElem,(this.component.el.shadowRoot??this.component.el).appendChild(this.instance.container),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 l=r;this.component[l]=!1;let n=e.visibleElements??{},c;for(let a of o.slice(0,-1))if(typeof n[a]=="object"&&n[a]!==null)n=n[a];else{c=!!n[a];break}c===void 0&&(c=!!(n[o.slice(-1)[0]]??!0));let p=l.startsWith("hide")||l.startsWith("show")?l.startsWith("hide"):c;this.onUpdate(a=>{if(a.has(l)){let x=this.component[l];this.#i(o,x,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()}},g=f(h);return k},"core/reactiveUtils",a,b)