UNPKG

@taiga-ui/kit

Version:
41 lines 4.13 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 */ let TuiProjectClassDirective = class TuiProjectClassDirective { constructor(elementRef) { this.elementRef = elementRef; this.classNames = []; } ngAfterViewChecked() { if (!this.classNames.length) { return; } this.classNames.forEach(className => { const hostElement = this.elementRef.nativeElement; if (hostElement.querySelector(`.${className}`)) { hostElement.classList.add(className); } else { hostElement.classList.remove(className); } }); } }; TuiProjectClassDirective.ctorParameters = () => [ { 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); export { TuiProjectClassDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jbGFzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvcHJvamVjdC1jbGFzcy8iLCJzb3VyY2VzIjpbInByb2plY3QtY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0M7O0dBRUc7QUFJSCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQUtqQyxZQUN5QyxVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUg1RSxlQUFVLEdBQXNCLEVBQUUsQ0FBQztJQUloQyxDQUFDO0lBRUosa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3pCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBRWxELElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQUU7Z0JBQzVDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNILFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTs7WUFsQndELFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVOztBQUh0QjtJQUZDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QixjQUFjLEVBQUU7NERBQ2tCO0FBSDFCLHdCQUF3QjtJQUhwQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO0tBQ2hDLENBQUM7SUFPTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQU5kLHdCQUF3QixDQXdCcEM7U0F4Qlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIHByb2plY3RpbmcgY2xhc3NlcyBmcm9tIG5lc3RlZCBjaGlsZHJlbiB0byBob3N0XG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVByb2plY3RDbGFzc10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcm9qZWN0Q2xhc3NEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBASW5wdXQoJ3R1aVByb2plY3RDbGFzcycpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjbGFzc05hbWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmICghdGhpcy5jbGFzc05hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGFzc05hbWVzLmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuJHtjbGFzc05hbWV9YCkpIHtcbiAgICAgICAgICAgICAgICBob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19