UNPKG

@taiga-ui/kit

Version:
43 lines 4.34 kB
import { __decorate, __param } from "tslib"; import { AfterViewChecked, Directive, ElementRef, Inject, Input } 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; }()); export { TuiProjectClassDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jbGFzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvcHJvamVjdC1jbGFzcy8iLCJzb3VyY2VzIjpbInByb2plY3QtY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0M7O0dBRUc7QUFJSDtJQUtJLGtDQUN5QyxVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUg1RSxlQUFVLEdBQXNCLEVBQUUsQ0FBQztJQUloQyxDQUFDO0lBRUoscURBQWtCLEdBQWxCO1FBQUEsaUJBY0M7UUFiRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQSxTQUFTO1lBQzdCLElBQU0sV0FBVyxHQUFHLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBRWxELElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFJLFNBQVcsQ0FBQyxFQUFFO2dCQUM1QyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QztpQkFBTTtnQkFDSCxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMzQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBakJvRCxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTs7SUFIdEI7UUFGQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDeEIsY0FBYyxFQUFFO2dFQUNrQjtJQUgxQix3QkFBd0I7UUFIcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtTQUNoQyxDQUFDO1FBT08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7T0FOZCx3QkFBd0IsQ0F3QnBDO0lBQUQsK0JBQUM7Q0FBQSxBQXhCRCxJQXdCQztTQXhCWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSBmb3IgcHJvamVjdGluZyBjbGFzc2VzIGZyb20gbmVzdGVkIGNoaWxkcmVuIHRvIGhvc3RcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpUHJvamVjdENsYXNzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByb2plY3RDbGFzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAgIEBJbnB1dCgndHVpUHJvamVjdENsYXNzJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNsYXNzTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNsYXNzTmFtZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsYXNzTmFtZXMuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGhvc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke2NsYXNzTmFtZX1gKSkge1xuICAgICAgICAgICAgICAgIGhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=