@taiga-ui/kit
Version:
Taiga UI Angular main components kit
62 lines (57 loc) • 2.02 kB
JavaScript
import { __decorate, __param } from 'tslib';
import { ElementRef, Inject, Input, Directive, NgModule } from '@angular/core';
import { tuiDefaultProp } from '@taiga-ui/cdk';
/**
* A directive for projecting classes from nested children to host
*/
var TuiProjectClassDirective = /** @class */ (function () {
function TuiProjectClassDirective(elementRef) {
this.elementRef = elementRef;
this.classNames = [];
}
TuiProjectClassDirective.prototype.ngAfterViewChecked = function () {
var _this = this;
if (!this.classNames.length) {
return;
}
this.classNames.forEach(function (className) {
var hostElement = _this.elementRef.nativeElement;
if (hostElement.querySelector("." + className)) {
hostElement.classList.add(className);
}
else {
hostElement.classList.remove(className);
}
});
};
TuiProjectClassDirective.ctorParameters = function () { return [
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
]; };
__decorate([
Input('tuiProjectClass'),
tuiDefaultProp()
], TuiProjectClassDirective.prototype, "classNames", void 0);
TuiProjectClassDirective = __decorate([
Directive({
selector: '[tuiProjectClass]',
}),
__param(0, Inject(ElementRef))
], TuiProjectClassDirective);
return TuiProjectClassDirective;
}());
var TuiProjectClassModule = /** @class */ (function () {
function TuiProjectClassModule() {
}
TuiProjectClassModule = __decorate([
NgModule({
declarations: [TuiProjectClassDirective],
exports: [TuiProjectClassDirective],
})
], TuiProjectClassModule);
return TuiProjectClassModule;
}());
/**
* Generated bundle index. Do not edit.
*/
export { TuiProjectClassDirective, TuiProjectClassModule };
//# sourceMappingURL=taiga-ui-kit-directives-project-class.js.map