@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
29 lines • 4.25 kB
JavaScript
import { Directive, inject, Output } from '@angular/core';
import { ControlContainer, NgControl } from '@angular/forms';
import { tuiControlValue } from '@taiga-ui/cdk/observables';
import { distinctUntilChanged, skip, Subject, switchMap } from 'rxjs';
import * as i0 from "@angular/core";
class TuiValueChanges {
constructor() {
this.container = inject(ControlContainer, { optional: true });
this.control = inject(NgControl, { optional: true });
this.control$ = new Subject();
this.tuiValueChanges = this.control$.pipe(distinctUntilChanged(), switchMap((tuiControlValue)), distinctUntilChanged(), skip(1));
}
ngDoCheck() {
this.control$.next(this.control || this.container);
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy92YWx1ZS1jaGFuZ2VzL3ZhbHVlLWNoYW5nZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRXBFLE1BSWEsZUFBZTtJQUo1QjtRQUtxQixjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdkQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXVDLENBQUM7UUFFckQsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDMUQsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLENBQUEsZUFBa0IsQ0FBQSxDQUFDLEVBQzdCLG9CQUFvQixFQUFFLEVBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO0tBS0w7SUFIVSxTQUFTO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FkUSxlQUFlO21HQUFmLGVBQWU7O1NBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQzs4QkFNNkIsZUFBZTtzQkFBeEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCB0eXBlIERvQ2hlY2ssIGluamVjdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbENvbnRhaW5lciwgTmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUNvbnRyb2xWYWx1ZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBza2lwLCBTdWJqZWN0LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVZhbHVlQ2hhbmdlc10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlWYWx1ZUNoYW5nZXM8VD4gaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lciA9IGluamVjdChDb250cm9sQ29udGFpbmVyLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wkID0gbmV3IFN1YmplY3Q8Q29udHJvbENvbnRhaW5lciB8IE5nQ29udHJvbCB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHR1aVZhbHVlQ2hhbmdlcyA9IHRoaXMuY29udHJvbCQucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoTWFwKHR1aUNvbnRyb2xWYWx1ZTxUPiksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbCQubmV4dCh0aGlzLmNvbnRyb2wgfHwgdGhpcy5jb250YWluZXIpO1xuICAgIH1cbn1cbiJdfQ==