UNPKG

@taiga-ui/cdk

Version:

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

28 lines 4.08 kB
import { Directive, inject, Output } from '@angular/core'; import { ControlContainer, NgControl } from '@angular/forms'; import { distinctUntilChanged, EMPTY, Subject, switchAll } from 'rxjs'; import * as i0 from "@angular/core"; class TuiValueChanges { constructor() { this.container = inject(ControlContainer, { optional: true }); this.control = inject(NgControl, { optional: true }); this.refresh$ = new Subject(); this.tuiValueChanges = this.refresh$.pipe(distinctUntilChanged(), switchAll(), distinctUntilChanged()); } ngDoCheck() { this.refresh$.next(this.control?.valueChanges || this.container?.valueChanges || EMPTY); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueChanges, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValueChanges, isStandalone: true, selector: "[tuiValueChanges]", outputs: { tuiValueChanges: "tuiValueChanges" }, ngImport: i0 }); } } export { TuiValueChanges }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueChanges, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiValueChanges]', }] }], propDecorators: { tuiValueChanges: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy92YWx1ZS1jaGFuZ2VzL3ZhbHVlLWNoYW5nZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQW1CLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRXRGLE1BSWEsZUFBZTtJQUo1QjtRQUtxQixjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdkQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFHekMsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEQsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxFQUFFLEVBQ1gsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztLQU9MO0lBTFUsU0FBUztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxJQUFJLEtBQUssQ0FDdEUsQ0FBQztJQUNOLENBQUM7K0dBaEJRLGVBQWU7bUdBQWYsZUFBZTs7U0FBZixlQUFlOzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDOzhCQU9tQixlQUFlO3NCQUQ5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIHR5cGUgRG9DaGVjaywgaW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCB0eXBlIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaEFsbH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpVmFsdWVDaGFuZ2VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVZhbHVlQ2hhbmdlczxUPiBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyID0gaW5qZWN0KENvbnRyb2xDb250YWluZXIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDxPYnNlcnZhYmxlPFQ+PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aVZhbHVlQ2hhbmdlcyA9IHRoaXMucmVmcmVzaCQucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoQWxsKCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dChcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzIHx8IHRoaXMuY29udGFpbmVyPy52YWx1ZUNoYW5nZXMgfHwgRU1QVFksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19