@indice/ng-components
Version:
Indice common components for Angular v12
64 lines • 7.32 kB
JavaScript
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==