UNPKG

@taiga-ui/cdk

Version:

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

38 lines 5.38 kB
import { Directive, inject, Input, Output } from '@angular/core'; import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone'; import { tuiIfMap } from '@taiga-ui/cdk/observables'; import { BehaviorSubject, map } from 'rxjs'; import { TuiObscuredService } from './obscured.service'; import * as i0 from "@angular/core"; /** * Directive that monitors element visibility */ class TuiObscured { constructor() { this.activeZone = inject(TuiActiveZone, { optional: true }); this.enabled$ = new BehaviorSubject(false); this.obscured$ = inject(TuiObscuredService, { self: true }).pipe( // TODO: Refactor so that dropdowns and dialogs work properly without hacks map((by) => !!by?.every((el) => el.closest('tui-dialogs') || !this.activeZone?.contains(el)))); this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$)); } set tuiObscuredEnabled(enabled) { this.enabled$.next(enabled); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiObscured, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiObscured, isStandalone: true, selector: "[tuiObscured]", inputs: { tuiObscuredEnabled: "tuiObscuredEnabled" }, outputs: { tuiObscured: "tuiObscured" }, providers: [TuiObscuredService], ngImport: i0 }); } } export { TuiObscured }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiObscured, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiObscured]', providers: [TuiObscuredService], }] }], propDecorators: { tuiObscured: [{ type: Output }], tuiObscuredEnabled: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzY3VyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQvb2JzY3VyZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFDSCxNQUthLFdBQVc7SUFMeEI7UUFNcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUk7UUFDdEUsMkVBQTJFO1FBQzNFLEdBQUcsQ0FDQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQ1AsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDdEUsQ0FDUixDQUNKLENBQUM7UUFHYyxnQkFBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQU1wRjtJQUpHLElBQ1csa0JBQWtCLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FuQlEsV0FBVzttR0FBWCxXQUFXLDJKQUZULENBQUMsa0JBQWtCLENBQUM7O1NBRXRCLFdBQVc7NEZBQVgsV0FBVztrQkFMdkIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNsQzs4QkFlbUIsV0FBVztzQkFEMUIsTUFBTTtnQkFJSSxrQkFBa0I7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7dHVpSWZNYXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpT2JzY3VyZWRTZXJ2aWNlfSBmcm9tICcuL29ic2N1cmVkLnNlcnZpY2UnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IG1vbml0b3JzIGVsZW1lbnQgdmlzaWJpbGl0eVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aU9ic2N1cmVkXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpT2JzY3VyZWRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT2JzY3VyZWQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNjdXJlZCQgPSBpbmplY3QoVHVpT2JzY3VyZWRTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pLnBpcGUoXG4gICAgICAgIC8vIFRPRE86IFJlZmFjdG9yIHNvIHRoYXQgZHJvcGRvd25zIGFuZCBkaWFsb2dzIHdvcmsgcHJvcGVybHkgd2l0aG91dCBoYWNrc1xuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoYnkpID0+XG4gICAgICAgICAgICAgICAgISFieT8uZXZlcnkoXG4gICAgICAgICAgICAgICAgICAgIChlbCkgPT4gZWwuY2xvc2VzdCgndHVpLWRpYWxvZ3MnKSB8fCAhdGhpcy5hY3RpdmVab25lPy5jb250YWlucyhlbCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aU9ic2N1cmVkID0gdGhpcy5lbmFibGVkJC5waXBlKHR1aUlmTWFwKCgpID0+IHRoaXMub2JzY3VyZWQkKSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpT2JzY3VyZWRFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbmFibGVkJC5uZXh0KGVuYWJsZWQpO1xuICAgIH1cbn1cbiJdfQ==