@taiga-ui/kit
Version:
Taiga UI Angular main components kit
36 lines • 5.97 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5maW5pc2hlZC12YWxpZGF0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvdW5maW5pc2hlZC12YWxpZGF0b3IvdW5maW5pc2hlZC12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBRXBFLE1BS2Esc0JBQXNCO0lBTG5DO1FBTXFCLFlBQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUN0RCxVQUFLLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsYUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDMUQsWUFBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUdiLDJCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUVuQixhQUFRLEdBQUcsNEJBQTRCLENBQ25ELGdCQUFnQixFQUFvQixFQUNwQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUN0RCxDQUFDO0tBQ0w7K0dBZlksc0JBQXNCO21HQUF0QixzQkFBc0IsMElBRnBCLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQzs7U0FFM0Qsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLDBCQUEwQixJQUFJLENBQUMsQ0FBQztpQkFDdkU7OEJBVVUsc0JBQXNCO3NCQUQ1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge05HX1ZBTElEQVRPUlMsIHR5cGUgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfRVJST1JfTUVTU0FHRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX1ZBTElEQVRJT05fRVJST1JTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge2lzT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7dHVpQ3JlYXRlVW5maW5pc2hlZFZhbGlkYXRvcn0gZnJvbSAnLi91bmZpbmlzaGVkLnZhbGlkYXRvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlVbmZpbmlzaGVkVmFsaWRhdG9yXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShOR19WQUxJREFUT1JTLCBUdWlVbmZpbmlzaGVkVmFsaWRhdG9yLCB0cnVlKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVVuZmluaXNoZWRWYWxpZGF0b3IgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdCA9IHRvU2lnbmFsKGluamVjdChUVUlfREVGQVVMVF9FUlJPUl9NRVNTQUdFKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvciA9IGluamVjdChUVUlfVkFMSURBVElPTl9FUlJPUlMpWyd0dWlVbmZpbmlzaGVkJ107XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFjayA9IHRoaXMuZXJyb3IgPyBzaWduYWwodGhpcy5lcnJvcikgOiB0aGlzLmRlZmF1bHQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlID0gaXNPYnNlcnZhYmxlKHRoaXMuZXJyb3IpXG4gICAgICAgID8gdG9TaWduYWwodGhpcy5lcnJvcilcbiAgICAgICAgOiB0aGlzLmZhbGxiYWNrO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpVW5maW5pc2hlZFZhbGlkYXRvciA9ICcnO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRlID0gdHVpQ3JlYXRlVW5maW5pc2hlZFZhbGlkYXRvcihcbiAgICAgICAgdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpLFxuICAgICAgICAoKSA9PiB0aGlzLnR1aVVuZmluaXNoZWRWYWxpZGF0b3IgfHwgdGhpcy5tZXNzYWdlKCksXG4gICAgKTtcbn1cbiJdfQ==