@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
30 lines (26 loc) • 1.37 kB
JavaScript
import * as i0 from '@angular/core';
import { InjectionToken, inject, EnvironmentInjector, createComponent, Directive } from '@angular/core';
const TUI_STYLES = new InjectionToken(ngDevMode ? 'TUI_STYLES' : '');
function provideStyles(useValue) {
return { provide: TUI_STYLES, multi: true, useValue };
}
// Use it after this is fixed: https://github.com/angular/angular/issues/57846
class TuiWithStyles {
constructor() {
this.injector = inject(EnvironmentInjector);
this.refs = inject(TUI_STYLES, { self: true }).map((component) => createComponent(component, { environmentInjector: this.injector }));
}
ngOnDestroy() {
this.refs.forEach((ref) => ref.destroy());
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiWithStyles, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiWithStyles, isStandalone: true, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiWithStyles, decorators: [{
type: Directive
}] });
/**
* Generated bundle index. Do not edit.
*/
export { TuiWithStyles, provideStyles };
//# sourceMappingURL=taiga-ui-cdk-directives-with-styles.mjs.map