@spectrum-web-components/reactive-controllers
Version:
ReactiveControllers for powering common UI patterns
3 lines (2 loc) • 625 B
JavaScript
"use strict";export const dependencyManagerLoadedSymbol=Symbol("dependency manager loaded");export class DependencyManagerController{constructor(e){this.dependencies={};this._loaded=!1;this.host=e}get loaded(){return this._loaded}set loaded(e){e!==this.loaded&&(this._loaded=e,this.host.requestUpdate(dependencyManagerLoadedSymbol,!this.loaded))}add(e,o){const t=!!o||!!customElements.get(e)||this.dependencies[e];t||customElements.whenDefined(e).then(()=>{this.add(e,!0)}),this.dependencies={...this.dependencies,[e]:t},this.loaded=Object.values(this.dependencies).every(d=>d)}}
//# sourceMappingURL=DependencyManger.js.map