UNPKG

@indice/ng-components

Version:

Indice common components for Angular v12

64 lines 7.32 kB
import { ChangeDetectionStrategy, Component, ContentChild, Inject, Input, Optional, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core'; import * as uuid from 'uuid'; import { LIBTABGROUP_ACCESSOR } from '../../tokens'; import { LibTabLabelDirective } from './lib-tab-label.directive'; import * as i0 from "@angular/core"; export class LibTabComponent { constructor(_tabGroup) { this._tabGroup = _tabGroup; this._isActive = false; /** The content provided for the tab. */ this.content = null; } /** Indicates the index of the tab. */ get index() { const index = this._tabGroup?.tabs.toArray()?.indexOf(this); return index; } /** Indicates whether the tab is active. */ get isActive() { return this._isActive; } /** Setter for LibTabComponent isActive property. */ set isActive(isActive) { this._isActive = isActive; } ngOnInit() { this.id = this.id || uuid.v4(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibTabComponent, deps: [{ token: LIBTABGROUP_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: LibTabComponent, selector: "lib-tab", inputs: { id: "id", labelText: "labelText" }, queries: [{ propertyName: "label", first: true, predicate: LibTabLabelDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: ` <ng-template> <ng-content></ng-content> </ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibTabComponent, decorators: [{ type: Component, args: [{ selector: 'lib-tab', template: ` <ng-template> <ng-content></ng-content> </ng-template> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIBTABGROUP_ACCESSOR] }] }], propDecorators: { content: [{ type: ViewChild, args: [TemplateRef, { static: true }] }], label: [{ type: ContentChild, args: [LibTabLabelDirective] }], id: [{ type: Input }], labelText: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGFicy9saWItdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdKLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFZakUsTUFBTSxPQUFPLGVBQWU7SUFHeEIsWUFDOEQsU0FBZTtRQUFmLGNBQVMsR0FBVCxTQUFTLENBQU07UUFIckUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQU1uQyx3Q0FBd0M7UUFDUyxZQUFPLEdBQTRCLElBQUksQ0FBQztJQUhyRixDQUFDO0lBVUwsc0NBQXNDO0lBQ3RDLElBQVcsS0FBSztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELElBQVcsUUFBUSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWpDUSxlQUFlLGtCQUlBLG9CQUFvQjtrR0FKbkMsZUFBZSxnSUFVVixvQkFBb0IseUZBRnZCLFdBQVcsOERBaEJaOzs7O0tBSVQ7OzJGQUlRLGVBQWU7a0JBVjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQUtRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9CO3lDQUlLLE9BQU87c0JBQXZELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFRyxLQUFLO3NCQUEvQyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFFbEIsRUFBRTtzQkFBakIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgTElCVEFCR1JPVVBfQUNDRVNTT1IgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBMaWJUYWJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vbGliLXRhYi1sYWJlbC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi10YWInLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgYCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgX2lzQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMSUJUQUJHUk9VUF9BQ0NFU1NPUikgcHVibGljIHJlYWRvbmx5IF90YWJHcm91cD86IGFueVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKiogVGhlIGNvbnRlbnQgcHJvdmlkZWQgZm9yIHRoZSB0YWIuICovXHJcbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgY29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gICAgLyoqIEEgbGFiZWwgdGVtcGxhdGUgZm9yIHRoZSB0YWIgaGVhZGVyLiAqL1xyXG4gICAgQENvbnRlbnRDaGlsZChMaWJUYWJMYWJlbERpcmVjdGl2ZSkgcHVibGljIGxhYmVsOiBMaWJUYWJMYWJlbERpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcclxuICAgIC8qKiBJbmRpY2F0ZXMgdGhlIHVuaXF1ZSBpZCBhc3NpZ25lZCBpbiB0aGUgdGFiLiAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqIEluZGljYXRlcyB0aGUgaW5kZXggb2YgdGhlIHRhYi4gKi9cclxuICAgIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuX3RhYkdyb3VwPy50YWJzLnRvQXJyYXkoKT8uaW5kZXhPZih0aGlzKTtcclxuICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0YWIgaXMgYWN0aXZlLiAqL1xyXG4gICAgcHVibGljIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNBY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNldHRlciBmb3IgTGliVGFiQ29tcG9uZW50IGlzQWN0aXZlIHByb3BlcnR5LiAqL1xyXG4gICAgcHVibGljIHNldCBpc0FjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzQWN0aXZlID0gaXNBY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmlkIHx8IHV1aWQudjQoKTtcclxuICAgIH1cclxufSJdfQ==