UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

20 lines 4.2 kB
import { ɵAnimationEngine as AnimationEngine } from '@angular/animations/browser'; import { inject, InjectionToken } from '@angular/core'; import { map, share, startWith, Subject, switchMap, timer } from 'rxjs'; /** * Element currently being removed by AnimationEngine */ export const TUI_REMOVED_ELEMENT = new InjectionToken(ngDevMode ? 'TUI_REMOVED_ELEMENT' : '', { factory: () => { const stub = { onRemovalComplete: () => { } }; const element$ = new Subject(); const engine = inject(AnimationEngine, { optional: true }) || stub; const { onRemovalComplete = stub.onRemovalComplete } = engine; engine.onRemovalComplete = (element, context) => { element$.next(element); onRemovalComplete.call(engine, element, context); }; return element$.pipe(startWith(null), switchMap((element) => timer(0).pipe(map(() => null), startWith(element))), share()); }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlZC1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9yZW1vdmVkLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNqRCxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3RDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sSUFBSSxHQUFHLEVBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFDLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNqRSxNQUFNLEVBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFDLEdBQUcsTUFBTSxDQUFDO1FBRTVELE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ1QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDckIsQ0FDSixFQUNELEtBQUssRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHvJtUFuaW1hdGlvbkVuZ2luZSBhcyBBbmltYXRpb25FbmdpbmV9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMvYnJvd3Nlcic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHttYXAsIHNoYXJlLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEVsZW1lbnQgY3VycmVudGx5IGJlaW5nIHJlbW92ZWQgYnkgQW5pbWF0aW9uRW5naW5lXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfUkVNT1ZFRF9FTEVNRU5UID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfUkVNT1ZFRF9FTEVNRU5UJyA6ICcnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3R1YiA9IHtvblJlbW92YWxDb21wbGV0ZTogKCkgPT4ge319O1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCQgPSBuZXcgU3ViamVjdDxFbGVtZW50IHwgbnVsbD4oKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGluamVjdChBbmltYXRpb25FbmdpbmUsIHtvcHRpb25hbDogdHJ1ZX0pIHx8IHN0dWI7XG4gICAgICAgICAgICBjb25zdCB7b25SZW1vdmFsQ29tcGxldGUgPSBzdHViLm9uUmVtb3ZhbENvbXBsZXRlfSA9IGVuZ2luZTtcblxuICAgICAgICAgICAgZW5naW5lLm9uUmVtb3ZhbENvbXBsZXRlID0gKGVsZW1lbnQsIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBlbGVtZW50JC5uZXh0KGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIG9uUmVtb3ZhbENvbXBsZXRlLmNhbGwoZW5naW5lLCBlbGVtZW50LCBjb250ZXh0KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50JC5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgICAgIHRpbWVyKDApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gbnVsbCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoZWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBzaGFyZSgpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICB9LFxuKTtcbiJdfQ==