UNPKG

@taiga-ui/kit

Version:
39 lines 5.5 kB
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=