UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

46 lines 5.15 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtd2l0aC1tb3JlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2l0ZW1zLXdpdGgtbW9yZS9pdGVtcy13aXRoLW1vcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRTdCLE1BT2EseUJBQXlCO0lBUHRDO1FBUXFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBR2xDLGVBQVUsR0FBRyxRQUFRLENBQUM7UUFHdEIsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBR2QsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUdmLFNBQUksR0FBb0IsS0FBSyxDQUFDO1FBRXJDLHVEQUF1RDtRQUN2QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQWFqRDtJQVhHLElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0E1QlEseUJBQXlCO21HQUF6Qix5QkFBeUI7O1NBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQVByQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsZ0JBQWdCO3dCQUN0QywwQkFBMEIsRUFBRSxZQUFZO3FCQUMzQztpQkFDSjs4QkFLVSxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX211bHRpbGluZV0nOiAnbGluZXNMaW1pdCA+IDEnLFxuICAgICAgICAnW3N0eWxlLi0tdC1taW4td2lkdGgucHhdJzogJ21heFdpZHRoKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUl0ZW1zV2l0aE1vcmVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtc0xpbWl0ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZCA9IC0xO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGluZXNMaW1pdCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaWRlOiAnZW5kJyB8ICdzdGFydCcgPSAnZW5kJztcblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXB1dGVkU2lkZSgpOiAnZW5kJyB8ICdzdGFydCcge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lc0xpbWl0ID4gMSA/ICdlbmQnIDogdGhpcy5zaWRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2UkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbWF4V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLkFycmF5LmZyb20odGhpcy5lbC5jaGlsZHJlbiwgKHtjbGllbnRXaWR0aH0pID0+IGNsaWVudFdpZHRoKSk7XG4gICAgfVxufVxuIl19