@taiga-ui/kit
Version:
Taiga UI Angular main components kit
36 lines • 6.01 kB
JavaScript
import { Directive, inject, Input, signal } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { NG_VALIDATORS } from '@angular/forms';
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
import { TUI_DEFAULT_ERROR_MESSAGE } from '@taiga-ui/core/tokens';
import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
import { isObservable } from 'rxjs';
import { tuiCreateUnfinishedValidator } from './unfinished.validator';
import * as i0 from "@angular/core";
class TuiUnfinishedValidator {
constructor() {
this.default = toSignal(inject(TUI_DEFAULT_ERROR_MESSAGE));
this.error = inject(TUI_VALIDATION_ERRORS)['tuiUnfinished'];
this.fallback = this.error ? signal(this.error) : this.default;
this.message = isObservable(this.error)
? toSignal(this.error)
: this.fallback;
this.tuiUnfinishedValidator = '';
this.validate = tuiCreateUnfinishedValidator(tuiInjectElement(), () => this.tuiUnfinishedValidator || this.message());
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiUnfinishedValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiUnfinishedValidator, isStandalone: true, selector: "input[tuiUnfinishedValidator]", inputs: { tuiUnfinishedValidator: "tuiUnfinishedValidator" }, providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)], ngImport: i0 }); }
}
export { TuiUnfinishedValidator };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiUnfinishedValidator, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'input[tuiUnfinishedValidator]',
providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],
}]
}], propDecorators: { tuiUnfinishedValidator: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5maW5pc2hlZC12YWxpZGF0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvdW5maW5pc2hlZC12YWxpZGF0b3IvdW5maW5pc2hlZC12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXBELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFcEUsTUFLYSxzQkFBc0I7SUFMbkM7UUFNcUIsWUFBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQ3RELFVBQUssR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxRCxZQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0MsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBR2IsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyw0QkFBNEIsQ0FDbkQsZ0JBQWdCLEVBQW9CLEVBQ3BDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ3RELENBQUM7S0FDTDsrR0FmWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwwSUFGcEIsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDOztTQUUzRCxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsMEJBQTBCLElBQUksQ0FBQyxDQUFDO2lCQUN2RTs4QkFVVSxzQkFBc0I7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtWYWxpZGF0b3J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TkdfVkFMSURBVE9SU30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX0VSUk9SX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9WQUxJREFUSU9OX0VSUk9SU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtpc09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge3R1aUNyZWF0ZVVuZmluaXNoZWRWYWxpZGF0b3J9IGZyb20gJy4vdW5maW5pc2hlZC52YWxpZGF0b3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpVW5maW5pc2hlZFZhbGlkYXRvcl0nLFxuICAgIHByb3ZpZGVyczogW3R1aVByb3ZpZGUoTkdfVkFMSURBVE9SUywgVHVpVW5maW5pc2hlZFZhbGlkYXRvciwgdHJ1ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlVbmZpbmlzaGVkVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHQgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RFRkFVTFRfRVJST1JfTUVTU0FHRSkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3IgPSBpbmplY3QoVFVJX1ZBTElEQVRJT05fRVJST1JTKVsndHVpVW5maW5pc2hlZCddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2sgPSB0aGlzLmVycm9yID8gc2lnbmFsKHRoaXMuZXJyb3IpIDogdGhpcy5kZWZhdWx0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZSA9IGlzT2JzZXJ2YWJsZSh0aGlzLmVycm9yKVxuICAgICAgICA/IHRvU2lnbmFsKHRoaXMuZXJyb3IpXG4gICAgICAgIDogdGhpcy5mYWxsYmFjaztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aVVuZmluaXNoZWRWYWxpZGF0b3IgPSAnJztcblxuICAgIHB1YmxpYyByZWFkb25seSB2YWxpZGF0ZSA9IHR1aUNyZWF0ZVVuZmluaXNoZWRWYWxpZGF0b3IoXG4gICAgICAgIHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKSxcbiAgICAgICAgKCkgPT4gdGhpcy50dWlVbmZpbmlzaGVkVmFsaWRhdG9yIHx8IHRoaXMubWVzc2FnZSgpLFxuICAgICk7XG59XG4iXX0=