@bimeister/pupakit.kit
Version:
PupaKit is an open source collection of Angular components based on an atomic approach to building interfaces, which guarantees better performance and greater development flexibility.
28 lines (27 loc) • 1.66 kB
TypeScript
import { AfterContentInit, OnChanges, OnDestroy, QueryList, TemplateRef, TrackByFunction } from '@angular/core';
import { ComponentChanges } from '@bimeister/pupakit.common';
import { Nullable } from '@bimeister/utilities';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import { ContentTemplateNameDirective } from '../../interfaces/content-template-name.interface';
import { TabTemplateRef } from '../../interfaces/tab-template-ref.interface';
import { TabsServiceBase } from './tabs-service-base.abstract';
import * as i0 from "@angular/core";
export declare abstract class TabsContentBase<T, S extends TabsServiceBase<T>> implements OnChanges, AfterContentInit, OnDestroy {
protected readonly stateService: S;
protected readonly subscription: Subscription;
abstract destroyable: boolean;
protected readonly destroyable$: BehaviorSubject<boolean>;
abstract tabTemplates: QueryList<ContentTemplateNameDirective<T>>;
protected readonly activeTabName$: Observable<T>;
readonly activeTemplateRef$: BehaviorSubject<Nullable<TemplateRef<unknown>>>;
readonly nonDestroyableTemplateRefs$: BehaviorSubject<TabTemplateRef<T>[]>;
constructor(stateService: S);
readonly tabTrackBy: TrackByFunction<TabTemplateRef<T>>;
ngOnChanges(changes: ComponentChanges<this>): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private processInputDestroyableChanges;
private processActiveTabChanges;
static ɵfac: i0.ɵɵFactoryDeclaration<TabsContentBase<any, any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<TabsContentBase<any, any>, never, never, {}, {}, never, never, false>;
}