import{c as t,M as s,V as e}from"./p-6e1ab235.js";import{O as i}from"./p-331a62d5.js";import{C as o}from"./p-2d0d575f.js";import{f as a}from"./p-6e70d3cc.js";import{d as c}from"./p-f28a6074.js";import{j as n,k as l}from"./p-6c43d54a.js";var h=function(t,s,e,i){var o,a=arguments.length,c=a<3?s:null===i?i=Object.getOwnPropertyDescriptor(s,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(t,s,e,i);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(c=(a<3?o(c):a>3?o(s,e,c):o(s,e))||c);return a>3&&c&&Object.defineProperty(s,e,c),c};class r extends e{constructor(t){super(),this.isAcceptableObserverPayload=t=>"object"==typeof t&&!!t&&t.host===this.parent,this.observerEntry=t}connectedCallback(){if(this.parent=this.getParent(),!this.parent)return;const{subStates:t}=this.observerEntry;this.subStateObserver=new i(this.isAcceptableObserverPayload,(s=>{const e=t.find((t=>t.parentStateName===s.stateName));e&&this.updateState(e,s.value)})),o.register(c.getSubject(this.parent,n),this.subStateObserver),this.observerEntry.pullStatesWhenReattached&&this.host.classList.contains("hydrated")&&(this.parent=this.getParent(),this.pullStates())}disconnectedCallback(){this.parent&&o.unregister(c.getSubject(this.parent,n),this.subStateObserver)}componentWillLoad(){this.pullStates()}getParent(){return"string"==typeof this.observerEntry.parent?a(this.host,this.observerEntry.parent):this.observerEntry.parent()}updateState(t,s){t.callback?t.callback(s):this[t.subStateName]=s}pullStates(){if(!this.parent)return;const{subStates:t}=this.observerEntry;t.forEach((t=>{o.notify(c.getSubject(this.parent,l),{host:this.parent,stateName:t.parentStateName,callback:s=>{this.updateState(t,s)}})}))}}h([t()],r.prototype,"host",void 0),h([s("connectedCallback")],r.prototype,"connectedCallback",null),h([s("disconnectedCallback")],r.prototype,"disconnectedCallback",null),h([s("componentWillLoad")],r.prototype,"componentWillLoad",null);export{r as S}