UNPKG

@angular/cdk

Version:

Angular Material Component Development Kit

61 lines (58 loc) 1.64 kB
import * as i0 from '@angular/core'; import { inject, Injector, EnvironmentInjector, ApplicationRef, createComponent, Injectable } from '@angular/core'; const appsWithLoaders = new WeakMap(); class _CdkPrivateStyleLoader { _appRef; _injector = inject(Injector); _environmentInjector = inject(EnvironmentInjector); load(loader) { const appRef = this._appRef = this._appRef || this._injector.get(ApplicationRef); let data = appsWithLoaders.get(appRef); if (!data) { data = { loaders: new Set(), refs: [] }; appsWithLoaders.set(appRef, data); appRef.onDestroy(() => { appsWithLoaders.get(appRef)?.refs.forEach(ref => ref.destroy()); appsWithLoaders.delete(appRef); }); } if (!data.loaders.has(loader)) { data.loaders.add(loader); data.refs.push(createComponent(loader, { environmentInjector: this._environmentInjector })); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: _CdkPrivateStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: _CdkPrivateStyleLoader, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: _CdkPrivateStyleLoader, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); export { _CdkPrivateStyleLoader }; //# sourceMappingURL=_style-loader-chunk.mjs.map