@taiga-ui/kit
Version:
Taiga UI Angular main components kit
39 lines • 5.5 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { ChangeDetectorRef, ElementRef, InjectionToken } from '@angular/core';
import { MUTATION_OBSERVER_INIT, MutationObserverService, } from '@ng-web-apis/mutation-observer';
import { TuiDestroyService, TuiResizeService } from '@taiga-ui/cdk';
import { merge } from 'rxjs';
import { debounceTime, filter, startWith, takeUntil, tap } from 'rxjs/operators';
export function tabsRefreshFactory(resize$, mutations$, destroy$, { body }, { nativeElement }, changeDetectorRef) {
return merge(resize$, mutations$.pipe(tap(() => changeDetectorRef.detectChanges()))).pipe(
// Ignoring cases when host is detached from DOM
filter(() => body.contains(nativeElement)), debounceTime(0), startWith(null), takeUntil(destroy$));
}
export const TABS_REFRESH = new InjectionToken('Refresh stream');
const ɵ0 = {
childList: true,
subtree: true,
};
export const TABS_PROVIDERS = [
TuiResizeService,
TuiDestroyService,
MutationObserverService,
{
provide: MUTATION_OBSERVER_INIT,
useValue: ɵ0,
},
{
provide: TABS_REFRESH,
deps: [
TuiResizeService,
MutationObserverService,
TuiDestroyService,
DOCUMENT,
ElementRef,
ChangeDetectorRef,
],
useFactory: tabsRefreshFactory,
},
];
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMvIiwic291cmNlcyI6WyJ0YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLE9BQTRCLEVBQzVCLFVBQStCLEVBQy9CLFFBQTZCLEVBQzdCLEVBQUMsSUFBSSxFQUFXLEVBQ2hCLEVBQUMsYUFBYSxFQUFtQixFQUNqQyxpQkFBb0M7SUFFcEMsT0FBTyxLQUFLLENBQ1IsT0FBTyxFQUNQLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FDaEUsQ0FBQyxJQUFJO0lBQ0YsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQzFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBc0IsZ0JBQWdCLENBQUMsQ0FBQztXQU9wRTtJQUNOLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLElBQUk7Q0FDaEI7QUFUVCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWU7SUFDdEMsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkI7UUFDSSxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFFBQVEsSUFHUDtLQUNKO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsWUFBWTtRQUNyQixJQUFJLEVBQUU7WUFDRixnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixRQUFRO1lBQ1IsVUFBVTtZQUNWLGlCQUFpQjtTQUNwQjtRQUNELFVBQVUsRUFBRSxrQkFBa0I7S0FDakM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG59IGZyb20gJ0BuZy13ZWItYXBpcy9tdXRhdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCBUdWlSZXNpemVTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGFic1JlZnJlc2hGYWN0b3J5KFxuICAgIHJlc2l6ZSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgbXV0YXRpb25zJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICB7Ym9keX06IERvY3VtZW50LFxuICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxOb2RlPixcbiAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIHJlc2l6ZSQsXG4gICAgICAgIG11dGF0aW9ucyQucGlwZSh0YXAoKCkgPT4gY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpKSksXG4gICAgKS5waXBlKFxuICAgICAgICAvLyBJZ25vcmluZyBjYXNlcyB3aGVuIGhvc3QgaXMgZGV0YWNoZWQgZnJvbSBET01cbiAgICAgICAgZmlsdGVyKCgpID0+IGJvZHkuY29udGFpbnMobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApO1xufVxuXG5leHBvcnQgY29uc3QgVEFCU19SRUZSRVNIID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8dW5rbm93bj4+KCdSZWZyZXNoIHN0cmVhbScpO1xuZXhwb3J0IGNvbnN0IFRBQlNfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aVJlc2l6ZVNlcnZpY2UsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBNVVRBVElPTl9PQlNFUlZFUl9JTklULFxuICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVEFCU19SRUZSRVNILFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBUdWlSZXNpemVTZXJ2aWNlLFxuICAgICAgICAgICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgICAgIERPQ1VNRU5ULFxuICAgICAgICAgICAgRWxlbWVudFJlZixcbiAgICAgICAgICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBdLFxuICAgICAgICB1c2VGYWN0b3J5OiB0YWJzUmVmcmVzaEZhY3RvcnksXG4gICAgfSxcbl07XG4iXX0=