UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

46 lines 5.11 kB
import { Directive, Input } from '@angular/core'; import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; class TuiItemsWithMoreDirective { constructor() { this.el = tuiInjectElement(); this.itemsLimit = Infinity; this.required = -1; this.linesLimit = 1; this.side = 'end'; // TODO: refactor to signal inputs after Angular update this.change$ = new Subject(); } get computedSide() { return this.linesLimit > 1 ? 'end' : this.side; } ngOnChanges() { this.change$.next(); } maxWidth() { return Math.max(...Array.from(this.el.children, ({ clientWidth }) => clientWidth)); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiItemsWithMoreDirective, isStandalone: true, inputs: { itemsLimit: "itemsLimit", required: "required", linesLimit: "linesLimit", side: "side" }, host: { properties: { "class._multiline": "linesLimit > 1", "style.--t-min-width.px": "maxWidth()" } }, usesOnChanges: true, ngImport: i0 }); } } export { TuiItemsWithMoreDirective }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreDirective, decorators: [{ type: Directive, args: [{ standalone: true, host: { '[class._multiline]': 'linesLimit > 1', '[style.--t-min-width.px]': 'maxWidth()', }, }] }], propDecorators: { itemsLimit: [{ type: Input }], required: [{ type: Input }], linesLimit: [{ type: Input }], side: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtd2l0aC1tb3JlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2l0ZW1zLXdpdGgtbW9yZS9pdGVtcy13aXRoLW1vcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUU3QixNQU9hLHlCQUF5QjtJQVB0QztRQVFxQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUdsQyxlQUFVLEdBQUcsUUFBUSxDQUFDO1FBR3RCLGFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUdkLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFHZixTQUFJLEdBQW9CLEtBQUssQ0FBQztRQUVyQyx1REFBdUQ7UUFDdkMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FhakQ7SUFYRyxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7K0dBNUJRLHlCQUF5QjttR0FBekIseUJBQXlCOztTQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLG9CQUFvQixFQUFFLGdCQUFnQjt3QkFDdEMsMEJBQTBCLEVBQUUsWUFBWTtxQkFDM0M7aUJBQ0o7OEJBS1UsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX211bHRpbGluZV0nOiAnbGluZXNMaW1pdCA+IDEnLFxuICAgICAgICAnW3N0eWxlLi0tdC1taW4td2lkdGgucHhdJzogJ21heFdpZHRoKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUl0ZW1zV2l0aE1vcmVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtc0xpbWl0ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZCA9IC0xO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGluZXNMaW1pdCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaWRlOiAnZW5kJyB8ICdzdGFydCcgPSAnZW5kJztcblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXB1dGVkU2lkZSgpOiAnZW5kJyB8ICdzdGFydCcge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lc0xpbWl0ID4gMSA/ICdlbmQnIDogdGhpcy5zaWRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2UkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbWF4V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLkFycmF5LmZyb20odGhpcy5lbC5jaGlsZHJlbiwgKHtjbGllbnRXaWR0aH0pID0+IGNsaWVudFdpZHRoKSk7XG4gICAgfVxufVxuIl19