@taiga-ui/cdk 4.38.0-canary.507d44d → 4.38.0-canary.99e3a33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ export declare abstract class TuiControl<T> implements ControlValueAccessor {
14
14
  private readonly internal;
15
15
  protected readonly control: NgControl;
16
16
  protected readonly cdr: ChangeDetectorRef;
17
- protected transformer: TuiValueTransformer<any, any> | null;
17
+ protected transformer: TuiValueTransformer<any, any>;
18
18
  readonly value: import("@angular/core").Signal<T>;
19
19
  readonly readOnly: import("@angular/core").WritableSignal<boolean>;
20
20
  readonly touched: import("@angular/core").WritableSignal<boolean>;
@@ -32,8 +32,6 @@ export declare abstract class TuiControl<T> implements ControlValueAccessor {
32
32
  registerOnTouched(onTouched: () => void): void;
33
33
  setDisabledState(): void;
34
34
  writeValue(value: T | null): void;
35
- private fromControlValue;
36
- private toControlValue;
37
35
  private update;
38
36
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiControl<any>, never>;
39
37
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiControl<any>, never, never, { "readOnlySetter": { "alias": "readOnly"; "required": false; }; "invalidSetter": { "alias": "invalid"; "required": false; }; }, {}, never, never, false, never>;
@@ -1,5 +1,4 @@
1
1
  import type { FactoryProvider, ProviderToken } from '@angular/core';
2
- import { identity } from 'rxjs';
3
2
  export declare abstract class TuiValueTransformer<From, To = unknown> {
4
3
  abstract toControlValue(componentValue: From): To;
5
4
  abstract fromControlValue(controlValue: To): From;
@@ -12,9 +11,4 @@ export declare class TuiNonNullableValueTransformer<T> extends TuiValueTransform
12
11
  fromControlValue(value: T): T;
13
12
  toControlValue(value: T | null): T;
14
13
  }
15
- declare class TuiIdentityValueTransformer<T> extends TuiValueTransformer<T, T> {
16
- fromControlValue: typeof identity;
17
- toControlValue: typeof identity;
18
- }
19
- export declare const TUI_IDENTITY_VALUE_TRANSFORMER: TuiIdentityValueTransformer<unknown>;
20
- export {};
14
+ export declare const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any>;
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.38.0-canary.507d44d";
1
+ export declare const TUI_VERSION = "4.38.0-canary.99e3a33";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.38.0-canary.507d44d';
4
+ exports.TUI_VERSION = '4.38.0-canary.99e3a33';
@@ -2,6 +2,7 @@
2
2
  * * DMY - dd.mm.yyyy
3
3
  * * MDY - mm.dd.yyyy
4
4
  * * YMD - yyyy.mm.dd
5
+ * TODO: Change to be MaskitoDateMode compatible in v5
5
6
  */
6
7
  export type TuiDateMode = 'DMY' | 'MDY' | 'YMD';
7
8
  export type TuiTimeMode = 'HH:MM AA' | 'HH:MM:SS AA' | 'HH:MM:SS.MSS AA' | 'HH:MM:SS.MSS' | 'HH:MM:SS' | 'HH:MM';
@@ -1,13 +1,12 @@
1
- import type { OnChanges, OnDestroy } from '@angular/core';
2
- import type { AbstractControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';
1
+ import type { OnChanges } from '@angular/core';
2
+ import type { Validator } from '@angular/forms';
3
+ import { Validators } from '@angular/forms';
3
4
  import * as i0 from "@angular/core";
4
- export declare class TuiValidator implements Validator, OnChanges, OnDestroy {
5
- private onChange;
6
- tuiValidator: ValidatorFn;
7
- validate(control: AbstractControl): ValidationErrors | null;
5
+ export declare class TuiValidator implements Validator, OnChanges {
6
+ protected onChange: (...args: any[]) => void;
7
+ validate: typeof Validators.nullValidator;
8
8
  registerOnValidatorChange(onChange: (...args: any[]) => void): void;
9
9
  ngOnChanges(): void;
10
- ngOnDestroy(): void;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiValidator, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiValidator, "[tuiValidator]", never, { "tuiValidator": { "alias": "tuiValidator"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiValidator, "[tuiValidator]", never, { "validate": { "alias": "tuiValidator"; "required": false; }; }, {}, never, never, true, never>;
13
12
  }
@@ -1,12 +1,11 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectorRef, computed, Directive, inject, Input, signal, } from '@angular/core';
1
+ import { ChangeDetectorRef, computed, Directive, inject, Input, signal, untracked, } from '@angular/core';
3
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
3
  import { NgControl, NgModel } from '@angular/forms';
5
4
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
6
5
  import { TUI_FALLBACK_VALUE } from '@taiga-ui/cdk/tokens';
7
- import { tuiProvide, tuiPure } from '@taiga-ui/cdk/utils';
6
+ import { tuiProvide } from '@taiga-ui/cdk/utils';
8
7
  import { delay, distinctUntilChanged, EMPTY, filter, map, merge, startWith, Subject, switchMap, } from 'rxjs';
9
- import { TuiValueTransformer } from './value-transformer';
8
+ import { TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer } from './value-transformer';
10
9
  import * as i0 from "@angular/core";
11
10
  const FLAGS = { self: true, optional: true };
12
11
  /**
@@ -20,7 +19,7 @@ class TuiControl {
20
19
  this.internal = signal(this.fallback);
21
20
  this.control = inject(NgControl, { self: true });
22
21
  this.cdr = inject(ChangeDetectorRef);
23
- this.transformer = inject(TuiValueTransformer, FLAGS);
22
+ this.transformer = inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;
24
23
  this.value = computed(() => this.internal() ?? this.fallback);
25
24
  this.readOnly = signal(false);
26
25
  this.touched = signal(false);
@@ -49,10 +48,11 @@ class TuiControl {
49
48
  registerOnChange(onChange) {
50
49
  this.refresh$.next();
51
50
  this.onChange = (value) => {
52
- if (value === this.internal()) {
51
+ const internal = untracked(() => this.internal());
52
+ if (value === internal) {
53
53
  return;
54
54
  }
55
- onChange(this.toControlValue(value));
55
+ onChange(this.transformer.toControlValue(value));
56
56
  this.internal.set(value);
57
57
  this.update();
58
58
  };
@@ -69,15 +69,9 @@ class TuiControl {
69
69
  writeValue(value) {
70
70
  // TODO: https://github.com/angular/angular/issues/14988
71
71
  const safe = this.control instanceof NgModel ? this.control.model : value;
72
- this.internal.set(this.fromControlValue(safe));
72
+ this.internal.set(this.transformer.fromControlValue(safe));
73
73
  this.update();
74
74
  }
75
- fromControlValue(value) {
76
- return this.transformer ? this.transformer.fromControlValue(value) : value;
77
- }
78
- toControlValue(value) {
79
- return this.transformer ? this.transformer.toControlValue(value) : value;
80
- }
81
75
  update() {
82
76
  this.status.set(this.control.control?.status);
83
77
  this.touched.set(!!this.control.control?.touched);
@@ -86,12 +80,6 @@ class TuiControl {
86
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
87
81
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiControl, inputs: { readOnlySetter: ["readOnly", "readOnlySetter"], invalidSetter: ["invalid", "invalidSetter"] }, ngImport: i0 }); }
88
82
  }
89
- __decorate([
90
- tuiPure
91
- ], TuiControl.prototype, "fromControlValue", null);
92
- __decorate([
93
- tuiPure
94
- ], TuiControl.prototype, "toControlValue", null);
95
83
  export { TuiControl };
96
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiControl, decorators: [{
97
85
  type: Directive
@@ -101,8 +89,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
101
89
  }], invalidSetter: [{
102
90
  type: Input,
103
91
  args: ['invalid']
104
- }], fromControlValue: [], toControlValue: [] } });
92
+ }] } });
105
93
  export function tuiAsControl(control) {
106
94
  return tuiProvide(TuiControl, control);
107
95
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jbGFzc2VzL2NvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDSCxLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUV4RCxNQUFNLEtBQUssR0FBRyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFDc0IsVUFBVTtJQThCNUI7UUE3QmlCLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFNLENBQUM7UUFDbEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxNQUFNLENBQUMsSUFB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T0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLENBQUM7SUFFTyxNQUFNO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0E1R2lCLFVBQVU7bUdBQVYsVUFBVTs7QUErRnBCO0lBRFAsT0FBTztrREFHUDtBQUdPO0lBRFAsT0FBTztnREFHUDtTQXRHaUIsVUFBVTs0RkFBVixVQUFVO2tCQUQvQixTQUFTOzBFQXFESyxjQUFjO3NCQUR4QixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxTQUFTO2dCQXVDUixnQkFBZ0IsTUFLaEIsY0FBYztBQVcxQixNQUFNLFVBQVUsWUFBWSxDQUFJLE9BQTRCO0lBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2xTdGF0dXN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0VNUFRZX0ZVTkNUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9GQUxMQkFDS19WQUxVRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlQcm92aWRlLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgZGVsYXksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgRU1QVFksXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBzdGFydFdpdGgsXG4gICAgU3ViamVjdCxcbiAgICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJy4vdmFsdWUtdHJhbnNmb3JtZXInO1xuXG5jb25zdCBGTEFHUyA9IHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX07XG5cbi8qKlxuICogQmFzaWMgQ29udHJvbFZhbHVlQWNjZXNzb3IgY2xhc3MgdG8gYnVpbGQgZm9ybSBjb21wb25lbnRzIHVwb25cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpQ29udHJvbDxUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZhbGxiYWNrID0gaW5qZWN0KFRVSV9GQUxMQkFDS19WQUxVRSwgRkxBR1MpIGFzIFQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwc2V1ZG9JbnZhbGlkID0gc2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGludGVybmFsID0gc2lnbmFsKHRoaXMuZmFsbGJhY2spO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7c2VsZjogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1lciA9IGluamVjdChUdWlWYWx1ZVRyYW5zZm9ybWVyLCBGTEFHUyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmludGVybmFsKCkgPz8gdGhpcy5mYWxsYmFjayk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlYWRPbmx5ID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG91Y2hlZCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1cyA9IHNpZ25hbDxGb3JtQ29udHJvbFN0YXR1cyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0YXR1cygpID09PSAnRElTQUJMRUQnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJhY3RpdmUgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5kaXNhYmxlZCgpICYmICF0aGlzLnJlYWRPbmx5KCkpO1xuICAgIHB1YmxpYyByZWFkb25seSBpbnZhbGlkID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5wc2V1ZG9JbnZhbGlkKCkgIT09IG51bGxcbiAgICAgICAgICAgID8gISF0aGlzLnBzZXVkb0ludmFsaWQoKSAmJiB0aGlzLmludGVyYWN0aXZlKClcbiAgICAgICAgICAgIDogdGhpcy5pbnRlcmFjdGl2ZSgpICYmIHRoaXMudG91Y2hlZCgpICYmIHRoaXMuc3RhdHVzKCkgPT09ICdJTlZBTElEJyxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1vZGUgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmVzdGVkLXRlcm5hcnlcbiAgICAgICAgdGhpcy5yZWFkT25seSgpID8gJ3JlYWRvbmx5JyA6IHRoaXMuaW52YWxpZCgpID8gJ2ludmFsaWQnIDogJ3ZhbGlkJyxcbiAgICApO1xuXG4gICAgcHVibGljIG9uVG91Y2hlZCA9IEVNUFRZX0ZVTkNUSU9OO1xuICAgIHB1YmxpYyBvbkNoYW5nZTogKHZhbHVlOiBUKSA9PiB2b2lkID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB0aGlzLnJlZnJlc2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuY29udHJvbC5jb250cm9sKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGMpID0+XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgYy52YWx1ZUNoYW5nZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBjLnN0YXR1c0NoYW5nZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAoYyBhcyBhbnkpLmV2ZW50cyB8fCBFTVBUWSxcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGUoKSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdyZWFkT25seScpXG4gICAgcHVibGljIHNldCByZWFkT25seVNldHRlcihyZWFkT25seTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnJlYWRPbmx5LnNldChyZWFkT25seSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdpbnZhbGlkJylcbiAgICBwdWJsaWMgc2V0IGludmFsaWRTZXR0ZXIoaW52YWxpZDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wc2V1ZG9JbnZhbGlkLnNldChpbnZhbGlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5pbnRlcm5hbCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvbkNoYW5nZSh0aGlzLnRvQ29udHJvbFZhbHVlKHZhbHVlKSk7XG4gICAgICAgICAgICB0aGlzLmludGVybmFsLnNldCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICBvblRvdWNoZWQoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE86IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4XG4gICAgICAgIGNvbnN0IHNhZmUgPSB0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsID8gdGhpcy5jb250cm9sLm1vZGVsIDogdmFsdWU7XG5cbiAgICAgICAgdGhpcy5pbnRlcm5hbC5zZXQodGhpcy5mcm9tQ29udHJvbFZhbHVlKHNhZmUpKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZnJvbUNvbnRyb2xWYWx1ZSh2YWx1ZTogdW5rbm93bik6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lciA/IHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZSh2YWx1ZSkgOiAodmFsdWUgYXMgVCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHRvQ29udHJvbFZhbHVlKHZhbHVlOiBUKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybWVyID8gdGhpcy50cmFuc2Zvcm1lci50b0NvbnRyb2xWYWx1ZSh2YWx1ZSkgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGF0dXMuc2V0KHRoaXMuY29udHJvbC5jb250cm9sPy5zdGF0dXMpO1xuICAgICAgICB0aGlzLnRvdWNoZWQuc2V0KCEhdGhpcy5jb250cm9sLmNvbnRyb2w/LnRvdWNoZWQpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc0NvbnRyb2w8VD4oY29udHJvbDogVHlwZTxUdWlDb250cm9sPFQ+Pik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUdWlDb250cm9sLCBjb250cm9sKTtcbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jbGFzc2VzL2NvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUNILEtBQUssRUFDTCxvQkFBb0IsRUFDcEIsS0FBSyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLDhCQUE4QixFQUFFLG1CQUFtQixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBRXhGLE1BQU0sS0FBSyxHQUFHLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUNzQixVQUFVO0lBK0I1QjtRQTlCaUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQU0sQ0FBQztRQUNsRCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixrQkFBYSxHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLE1B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QUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBckdpQixVQUFVO21HQUFWLFVBQVU7O1NBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUQvQixTQUFTOzBFQXNESyxjQUFjO3NCQUR4QixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxTQUFTOztBQStDcEIsTUFBTSxVQUFVLFlBQVksQ0FBSSxPQUE0QjtJQUN4RCxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlciwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbFN0YXR1c30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ0NvbnRyb2wsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0ZBTExCQUNLX1ZBTFVFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBkZWxheSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBFTVBUWSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBTdWJqZWN0LFxuICAgIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lERU5USVRZX1ZBTFVFX1RSQU5TRk9STUVSLCBUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICcuL3ZhbHVlLXRyYW5zZm9ybWVyJztcblxuY29uc3QgRkxBR1MgPSB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9O1xuXG4vKipcbiAqIEJhc2ljIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNsYXNzIHRvIGJ1aWxkIGZvcm0gY29tcG9uZW50cyB1cG9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aUNvbnRyb2w8VD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFjayA9IGluamVjdChUVUlfRkFMTEJBQ0tfVkFMVUUsIEZMQUdTKSBhcyBUO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHNldWRvSW52YWxpZCA9IHNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbCA9IHNpZ25hbCh0aGlzLmZhbGxiYWNrKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge3NlbGY6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtZXIgPVxuICAgICAgICBpbmplY3QoVHVpVmFsdWVUcmFuc2Zvcm1lciwgRkxBR1MpID8/IFRVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUjtcblxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW50ZXJuYWwoKSA/PyB0aGlzLmZhbGxiYWNrKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhZE9ubHkgPSBzaWduYWwoZmFsc2UpO1xuICAgIHB1YmxpYyByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzID0gc2lnbmFsPEZvcm1Db250cm9sU3RhdHVzIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RhdHVzKCkgPT09ICdESVNBQkxFRCcpO1xuICAgIHB1YmxpYyByZWFkb25seSBpbnRlcmFjdGl2ZSA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmRpc2FibGVkKCkgJiYgIXRoaXMucmVhZE9ubHkoKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGludmFsaWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnBzZXVkb0ludmFsaWQoKSAhPT0gbnVsbFxuICAgICAgICAgICAgPyAhIXRoaXMucHNldWRvSW52YWxpZCgpICYmIHRoaXMuaW50ZXJhY3RpdmUoKVxuICAgICAgICAgICAgOiB0aGlzLmludGVyYWN0aXZlKCkgJiYgdGhpcy50b3VjaGVkKCkgJiYgdGhpcy5zdGF0dXMoKSA9PT0gJ0lOVkFMSUQnLFxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbW9kZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICAgICAgICB0aGlzLnJlYWRPbmx5KCkgPyAncmVhZG9ubHknIDogdGhpcy5pbnZhbGlkKCkgPyAnaW52YWxpZCcgOiAndmFsaWQnLFxuICAgICk7XG5cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gRU1QVFlfRlVOQ1RJT047XG4gICAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWU6IFQpID0+IHZvaWQgPSBFTVBUWV9GVU5DVElPTjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlbGF5KDApLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5jb250cm9sLmNvbnRyb2wpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoYykgPT5cbiAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBjLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGMuc3RhdHVzQ2hhbmdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIChjIGFzIGFueSkuZXZlbnRzIHx8IEVNUFRZLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZSgpKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3JlYWRPbmx5JylcbiAgICBwdWJsaWMgc2V0IHJlYWRPbmx5U2V0dGVyKHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucmVhZE9ubHkuc2V0KHJlYWRPbmx5KTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ludmFsaWQnKVxuICAgIHB1YmxpYyBzZXQgaW52YWxpZFNldHRlcihpbnZhbGlkOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnBzZXVkb0ludmFsaWQuc2V0KGludmFsaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZTogVCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW50ZXJuYWwgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5pbnRlcm5hbCgpKTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBpbnRlcm5hbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb25DaGFuZ2UodGhpcy50cmFuc2Zvcm1lci50b0NvbnRyb2xWYWx1ZSh2YWx1ZSkpO1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbC5zZXQodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgb25Ub3VjaGVkKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNDk4OFxuICAgICAgICBjb25zdCBzYWZlID0gdGhpcy5jb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCA/IHRoaXMuY29udHJvbC5tb2RlbCA6IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuaW50ZXJuYWwuc2V0KHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShzYWZlKSk7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdHVzLnNldCh0aGlzLmNvbnRyb2wuY29udHJvbD8uc3RhdHVzKTtcbiAgICAgICAgdGhpcy50b3VjaGVkLnNldCghIXRoaXMuY29udHJvbC5jb250cm9sPy50b3VjaGVkKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNDb250cm9sPFQ+KGNvbnRyb2w6IFR5cGU8VHVpQ29udHJvbDxUPj4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGUoVHVpQ29udHJvbCwgY29udHJvbCk7XG59XG4iXX0=
@@ -18,12 +18,8 @@ export class TuiNonNullableValueTransformer extends TuiValueTransformer {
18
18
  return this.prevValue;
19
19
  }
20
20
  }
21
- class TuiIdentityValueTransformer extends TuiValueTransformer {
22
- constructor() {
23
- super(...arguments);
24
- this.fromControlValue = identity;
25
- this.toControlValue = identity;
26
- }
27
- }
28
- export const TUI_IDENTITY_VALUE_TRANSFORMER = new TuiIdentityValueTransformer();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvY2xhc3Nlcy92YWx1ZS10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFOUIsTUFBTSxPQUFnQixtQkFBbUI7Q0FHeEM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBRXJDLEtBQXVCO0lBQ3JCLE9BQU87UUFDSCxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCO0tBQ25ELENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxPQUFPLDhCQUFrQyxTQUFRLG1CQUFnQztJQUc1RSxnQkFBZ0IsQ0FBQyxLQUFRO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBZTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFFRCxNQUFNLDJCQUErQixTQUFRLG1CQUF5QjtJQUF0RTs7UUFDb0IscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsUUFBUSxDQUFDO0lBQzlDLENBQUM7Q0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksMkJBQTJCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtGYWN0b3J5UHJvdmlkZXIsIFByb3ZpZGVyVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpZGVudGl0eX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlWYWx1ZVRyYW5zZm9ybWVyPEZyb20sIFRvID0gdW5rbm93bj4ge1xuICAgIHB1YmxpYyBhYnN0cmFjdCB0b0NvbnRyb2xWYWx1ZShjb21wb25lbnRWYWx1ZTogRnJvbSk6IFRvO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBmcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZTogVG8pOiBGcm9tO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpVmFsdWVUcmFuc2Zvcm1lckZyb208XG4gICAgVCBleHRlbmRzIHt2YWx1ZVRyYW5zZm9ybWVyOiBUdWlWYWx1ZVRyYW5zZm9ybWVyPHVua25vd24+fSxcbj4odG9rZW46IFByb3ZpZGVyVG9rZW48VD4pOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFR1aVZhbHVlVHJhbnNmb3JtZXIsXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdCh0b2tlbikudmFsdWVUcmFuc2Zvcm1lcixcbiAgICB9O1xufVxuXG5leHBvcnQgY2xhc3MgVHVpTm9uTnVsbGFibGVWYWx1ZVRyYW5zZm9ybWVyPFQ+IGV4dGVuZHMgVHVpVmFsdWVUcmFuc2Zvcm1lcjxUIHwgbnVsbCwgVD4ge1xuICAgIHByaXZhdGUgcHJldlZhbHVlITogVDtcblxuICAgIHB1YmxpYyBmcm9tQ29udHJvbFZhbHVlKHZhbHVlOiBUKTogVCB7XG4gICAgICAgIHRoaXMucHJldlZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0NvbnRyb2xWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiBUIHtcbiAgICAgICAgdGhpcy5wcmV2VmFsdWUgPSB2YWx1ZSA/PyB0aGlzLnByZXZWYWx1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5wcmV2VmFsdWU7XG4gICAgfVxufVxuXG5jbGFzcyBUdWlJZGVudGl0eVZhbHVlVHJhbnNmb3JtZXI8VD4gZXh0ZW5kcyBUdWlWYWx1ZVRyYW5zZm9ybWVyPFQsIFQ+IHtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUNvbnRyb2xWYWx1ZSA9IGlkZW50aXR5O1xuICAgIHB1YmxpYyBvdmVycmlkZSB0b0NvbnRyb2xWYWx1ZSA9IGlkZW50aXR5O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lERU5USVRZX1ZBTFVFX1RSQU5TRk9STUVSID0gbmV3IFR1aUlkZW50aXR5VmFsdWVUcmFuc2Zvcm1lcigpO1xuIl19
21
+ export const TUI_IDENTITY_VALUE_TRANSFORMER = {
22
+ fromControlValue: identity,
23
+ toControlValue: identity,
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvY2xhc3Nlcy92YWx1ZS10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFOUIsTUFBTSxPQUFnQixtQkFBbUI7Q0FHeEM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBRXJDLEtBQXVCO0lBQ3JCLE9BQU87UUFDSCxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCO0tBQ25ELENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxPQUFPLDhCQUFrQyxTQUFRLG1CQUFnQztJQUc1RSxnQkFBZ0IsQ0FBQyxLQUFRO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBZTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFFRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBa0M7SUFDekUsZ0JBQWdCLEVBQUUsUUFBUTtJQUMxQixjQUFjLEVBQUUsUUFBUTtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlciwgUHJvdmlkZXJUb2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lkZW50aXR5fSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aVZhbHVlVHJhbnNmb3JtZXI8RnJvbSwgVG8gPSB1bmtub3duPiB7XG4gICAgcHVibGljIGFic3RyYWN0IHRvQ29udHJvbFZhbHVlKGNvbXBvbmVudFZhbHVlOiBGcm9tKTogVG87XG4gICAgcHVibGljIGFic3RyYWN0IGZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlOiBUbyk6IEZyb207XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbTxcbiAgICBUIGV4dGVuZHMge3ZhbHVlVHJhbnNmb3JtZXI6IFR1aVZhbHVlVHJhbnNmb3JtZXI8dW5rbm93bj59LFxuPih0b2tlbjogUHJvdmlkZXJUb2tlbjxUPik6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVHVpVmFsdWVUcmFuc2Zvcm1lcixcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gaW5qZWN0KHRva2VuKS52YWx1ZVRyYW5zZm9ybWVyLFxuICAgIH07XG59XG5cbmV4cG9ydCBjbGFzcyBUdWlOb25OdWxsYWJsZVZhbHVlVHJhbnNmb3JtZXI8VD4gZXh0ZW5kcyBUdWlWYWx1ZVRyYW5zZm9ybWVyPFQgfCBudWxsLCBUPiB7XG4gICAgcHJpdmF0ZSBwcmV2VmFsdWUhOiBUO1xuXG4gICAgcHVibGljIGZyb21Db250cm9sVmFsdWUodmFsdWU6IFQpOiBUIHtcbiAgICAgICAgdGhpcy5wcmV2VmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHRvQ29udHJvbFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IFQge1xuICAgICAgICB0aGlzLnByZXZWYWx1ZSA9IHZhbHVlID8/IHRoaXMucHJldlZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnByZXZWYWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfSURFTlRJVFlfVkFMVUVfVFJBTlNGT1JNRVI6IFR1aVZhbHVlVHJhbnNmb3JtZXI8YW55LCBhbnk+ID0ge1xuICAgIGZyb21Db250cm9sVmFsdWU6IGlkZW50aXR5LFxuICAgIHRvQ29udHJvbFZhbHVlOiBpZGVudGl0eSxcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.38.0-canary.507d44d';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVFVJX1ZFUlNJT04gPSAnNC4zOC4wLWNhbmFyeS41MDdkNDRkJztcbiJdfQ==
1
+ export const TUI_VERSION = '4.38.0-canary.99e3a33';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVFVJX1ZFUlNJT04gPSAnNC4zOC4wLWNhbmFyeS45OWUzYTMzJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGF0ZS10aW1lL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICogRE1ZIC0gZGQubW0ueXl5eVxuICogKiBNRFkgLSBtbS5kZC55eXl5XG4gKiAqIFlNRCAtIHl5eXkubW0uZGRcbiAqL1xuZXhwb3J0IHR5cGUgVHVpRGF0ZU1vZGUgPSAnRE1ZJyB8ICdNRFknIHwgJ1lNRCc7XG5leHBvcnQgdHlwZSBUdWlUaW1lTW9kZSA9XG4gICAgfCAnSEg6TU0gQUEnXG4gICAgfCAnSEg6TU06U1MgQUEnXG4gICAgfCAnSEg6TU06U1MuTVNTIEFBJ1xuICAgIHwgJ0hIOk1NOlNTLk1TUydcbiAgICB8ICdISDpNTTpTUydcbiAgICB8ICdISDpNTSc7XG5cbi8qKlxuICogT3B0aW9uYWxseSBoYXMgeWVhciBhbmQvb3IgbW9udGggYW5kL29yIGRheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR1aURheUxpa2UgZXh0ZW5kcyBUdWlNb250aExpa2Uge1xuICAgIHJlYWRvbmx5IGRheT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBPcHRpb25hbGx5IGhhcyB5ZWFyIGFuZC9vciBtb250aFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR1aU1vbnRoTGlrZSBleHRlbmRzIFR1aVllYXJMaWtlIHtcbiAgICByZWFkb25seSBtb250aD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBPcHRpb25hbGx5IGhhcyB5ZWFyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpWWVhckxpa2Uge1xuICAgIHJlYWRvbmx5IHllYXI/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpVGltZUxpa2Uge1xuICAgIHJlYWRvbmx5IGhvdXJzPzogbnVtYmVyO1xuICAgIHJlYWRvbmx5IG1pbnV0ZXM/OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbXM/OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgc2Vjb25kcz86IG51bWJlcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGF0ZS10aW1lL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICogRE1ZIC0gZGQubW0ueXl5eVxuICogKiBNRFkgLSBtbS5kZC55eXl5XG4gKiAqIFlNRCAtIHl5eXkubW0uZGRcbiAqIFRPRE86IENoYW5nZSB0byBiZSBNYXNraXRvRGF0ZU1vZGUgY29tcGF0aWJsZSBpbiB2NVxuICovXG5leHBvcnQgdHlwZSBUdWlEYXRlTW9kZSA9ICdETVknIHwgJ01EWScgfCAnWU1EJztcbmV4cG9ydCB0eXBlIFR1aVRpbWVNb2RlID1cbiAgICB8ICdISDpNTSBBQSdcbiAgICB8ICdISDpNTTpTUyBBQSdcbiAgICB8ICdISDpNTTpTUy5NU1MgQUEnXG4gICAgfCAnSEg6TU06U1MuTVNTJ1xuICAgIHwgJ0hIOk1NOlNTJ1xuICAgIHwgJ0hIOk1NJztcblxuLyoqXG4gKiBPcHRpb25hbGx5IGhhcyB5ZWFyIGFuZC9vciBtb250aCBhbmQvb3IgZGF5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRGF5TGlrZSBleHRlbmRzIFR1aU1vbnRoTGlrZSB7XG4gICAgcmVhZG9ubHkgZGF5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIE9wdGlvbmFsbHkgaGFzIHllYXIgYW5kL29yIG1vbnRoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTW9udGhMaWtlIGV4dGVuZHMgVHVpWWVhckxpa2Uge1xuICAgIHJlYWRvbmx5IG1vbnRoPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIE9wdGlvbmFsbHkgaGFzIHllYXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlZZWFyTGlrZSB7XG4gICAgcmVhZG9ubHkgeWVhcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUdWlUaW1lTGlrZSB7XG4gICAgcmVhZG9ubHkgaG91cnM/OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWludXRlcz86IG51bWJlcjtcbiAgICByZWFkb25seSBtcz86IG51bWJlcjtcbiAgICByZWFkb25seSBzZWNvbmRzPzogbnVtYmVyO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { Directive } from '@angular/core';
2
2
  import { NG_VALIDATORS, Validators } from '@angular/forms';
3
3
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
4
4
  import { tuiProvide } from '@taiga-ui/cdk/utils';
@@ -6,10 +6,7 @@ import * as i0 from "@angular/core";
6
6
  class TuiValidator {
7
7
  constructor() {
8
8
  this.onChange = EMPTY_FUNCTION;
9
- this.tuiValidator = Validators.nullValidator;
10
- }
11
- validate(control) {
12
- return this.tuiValidator(control);
9
+ this.validate = Validators.nullValidator;
13
10
  }
14
11
  registerOnValidatorChange(onChange) {
15
12
  this.onChange = onChange;
@@ -17,12 +14,8 @@ class TuiValidator {
17
14
  ngOnChanges() {
18
15
  this.onChange();
19
16
  }
20
- ngOnDestroy() {
21
- this.tuiValidator = Validators.nullValidator;
22
- this.onChange();
23
- }
24
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValidator, isStandalone: true, selector: "[tuiValidator]", inputs: { tuiValidator: "tuiValidator" }, providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)], usesOnChanges: true, ngImport: i0 }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValidator, isStandalone: true, selector: "[tuiValidator]", inputs: { validate: ["tuiValidator", "validate"] }, providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)], usesOnChanges: true, ngImport: i0 }); }
26
19
  }
27
20
  export { TuiValidator };
28
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValidator, decorators: [{
@@ -30,9 +23,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
30
23
  args: [{
31
24
  standalone: true,
32
25
  selector: '[tuiValidator]',
26
+ inputs: ['validate: tuiValidator'],
33
27
  providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)],
34
28
  }]
35
- }], propDecorators: { tuiValidator: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3ZhbGlkYXRvci92YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTy9DLE9BQU8sRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFL0MsTUFLYSxZQUFZO0lBTHpCO1FBTVksYUFBUSxHQUFHLGNBQWMsQ0FBQztRQUczQixpQkFBWSxHQUFnQixVQUFVLENBQUMsYUFBYSxDQUFDO0tBa0IvRDtJQWhCVSxRQUFRLENBQUMsT0FBd0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxRQUFrQztRQUMvRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0FyQlEsWUFBWTttR0FBWixZQUFZLHVHQUZWLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7O1NBRWpELFlBQVk7NEZBQVosWUFBWTtrQkFMeEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsZ0JBQWdCLElBQUksQ0FBQyxDQUFDO2lCQUM3RDs4QkFLVSxZQUFZO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge09uQ2hhbmdlcywgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIFZhbGlkYXRpb25FcnJvcnMsXG4gICAgVmFsaWRhdG9yLFxuICAgIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpVmFsaWRhdG9yXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShOR19WQUxJREFUT1JTLCBUdWlWYWxpZGF0b3IsIHRydWUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBvbkNoYW5nZSA9IEVNUFRZX0ZVTkNUSU9OO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvcjtcblxuICAgIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnR1aVZhbGlkYXRvcihjb250cm9sKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShvbkNoYW5nZTogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHVpVmFsaWRhdG9yID0gVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XG4gICAgfVxufVxuIl19
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3ZhbGlkYXRvci92YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUUvQyxNQU1hLFlBQVk7SUFOekI7UUFPYyxhQUFRLEdBQUcsY0FBYyxDQUFDO1FBRTdCLGFBQVEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO0tBUzlDO0lBUFUseUJBQXlCLENBQUMsUUFBa0M7UUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0FYUSxZQUFZO21HQUFaLFlBQVksaUhBRlYsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQzs7U0FFakQsWUFBWTs0RkFBWixZQUFZO2tCQU54QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixNQUFNLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsZ0JBQWdCLElBQUksQ0FBQyxDQUFDO2lCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1ZhbGlkYXRvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOR19WQUxJREFUT1JTLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0VNUFRZX0ZVTkNUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVZhbGlkYXRvcl0nLFxuICAgIGlucHV0czogWyd2YWxpZGF0ZTogdHVpVmFsaWRhdG9yJ10sXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShOR19WQUxJREFUT1JTLCBUdWlWYWxpZGF0b3IsIHRydWUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICAgIHByb3RlY3RlZCBvbkNoYW5nZSA9IEVNUFRZX0ZVTkNUSU9OO1xuXG4gICAgcHVibGljIHZhbGlkYXRlID0gVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yO1xuXG4gICAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2Uob25DaGFuZ2U6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKCk7XG4gICAgfVxufVxuIl19
@@ -1,11 +1,10 @@
1
- import { __decorate } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
- import { inject, signal, ChangeDetectorRef, computed, Directive, Input, INJECTOR, ViewContainerRef, ViewChild, Injectable } from '@angular/core';
2
+ import { inject, signal, ChangeDetectorRef, computed, untracked, Directive, Input, INJECTOR, ViewContainerRef, ViewChild, Injectable } from '@angular/core';
4
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
4
  import { NgControl, NgModel } from '@angular/forms';
6
5
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
7
6
  import { TUI_FALLBACK_VALUE } from '@taiga-ui/cdk/tokens';
8
- import { tuiPure, tuiProvide } from '@taiga-ui/cdk/utils';
7
+ import { tuiProvide } from '@taiga-ui/cdk/utils';
9
8
  import { identity, Subject, delay, startWith, map, filter, distinctUntilChanged, switchMap, merge, EMPTY } from 'rxjs';
10
9
 
11
10
  class TuiValueTransformer {
@@ -26,14 +25,10 @@ class TuiNonNullableValueTransformer extends TuiValueTransformer {
26
25
  return this.prevValue;
27
26
  }
28
27
  }
29
- class TuiIdentityValueTransformer extends TuiValueTransformer {
30
- constructor() {
31
- super(...arguments);
32
- this.fromControlValue = identity;
33
- this.toControlValue = identity;
34
- }
35
- }
36
- const TUI_IDENTITY_VALUE_TRANSFORMER = new TuiIdentityValueTransformer();
28
+ const TUI_IDENTITY_VALUE_TRANSFORMER = {
29
+ fromControlValue: identity,
30
+ toControlValue: identity,
31
+ };
37
32
 
38
33
  const FLAGS = { self: true, optional: true };
39
34
  /**
@@ -47,7 +42,7 @@ class TuiControl {
47
42
  this.internal = signal(this.fallback);
48
43
  this.control = inject(NgControl, { self: true });
49
44
  this.cdr = inject(ChangeDetectorRef);
50
- this.transformer = inject(TuiValueTransformer, FLAGS);
45
+ this.transformer = inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;
51
46
  this.value = computed(() => this.internal() ?? this.fallback);
52
47
  this.readOnly = signal(false);
53
48
  this.touched = signal(false);
@@ -76,10 +71,11 @@ class TuiControl {
76
71
  registerOnChange(onChange) {
77
72
  this.refresh$.next();
78
73
  this.onChange = (value) => {
79
- if (value === this.internal()) {
74
+ const internal = untracked(() => this.internal());
75
+ if (value === internal) {
80
76
  return;
81
77
  }
82
- onChange(this.toControlValue(value));
78
+ onChange(this.transformer.toControlValue(value));
83
79
  this.internal.set(value);
84
80
  this.update();
85
81
  };
@@ -96,15 +92,9 @@ class TuiControl {
96
92
  writeValue(value) {
97
93
  // TODO: https://github.com/angular/angular/issues/14988
98
94
  const safe = this.control instanceof NgModel ? this.control.model : value;
99
- this.internal.set(this.fromControlValue(safe));
95
+ this.internal.set(this.transformer.fromControlValue(safe));
100
96
  this.update();
101
97
  }
102
- fromControlValue(value) {
103
- return this.transformer ? this.transformer.fromControlValue(value) : value;
104
- }
105
- toControlValue(value) {
106
- return this.transformer ? this.transformer.toControlValue(value) : value;
107
- }
108
98
  update() {
109
99
  this.status.set(this.control.control?.status);
110
100
  this.touched.set(!!this.control.control?.touched);
@@ -113,12 +103,6 @@ class TuiControl {
113
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
104
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiControl, inputs: { readOnlySetter: ["readOnly", "readOnlySetter"], invalidSetter: ["invalid", "invalidSetter"] }, ngImport: i0 }); }
115
105
  }
116
- __decorate([
117
- tuiPure
118
- ], TuiControl.prototype, "fromControlValue", null);
119
- __decorate([
120
- tuiPure
121
- ], TuiControl.prototype, "toControlValue", null);
122
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiControl, decorators: [{
123
107
  type: Directive
124
108
  }], ctorParameters: function () { return []; }, propDecorators: { readOnlySetter: [{
@@ -127,7 +111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
127
111
  }], invalidSetter: [{
128
112
  type: Input,
129
113
  args: ['invalid']
130
- }], fromControlValue: [], toControlValue: [] } });
114
+ }] } });
131
115
  function tuiAsControl(control) {
132
116
  return tuiProvide(TuiControl, control);
133
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import type {FactoryProvider, ProviderToken} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nclass TuiIdentityValueTransformer<T> extends TuiValueTransformer<T, T> {\n public override fromControlValue = identity;\n public override toControlValue = identity;\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER = new TuiIdentityValueTransformer();\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly cdr = inject(ChangeDetectorRef);\n protected transformer = inject(TuiValueTransformer, FLAGS);\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.update());\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n if (value === this.internal()) {\n return;\n }\n\n onChange(this.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.fromControlValue(safe));\n this.update();\n }\n\n @tuiPure\n private fromControlValue(value: unknown): T {\n return this.transformer ? this.transformer.fromControlValue(value) : (value as T);\n }\n\n @tuiPure\n private toControlValue(value: T): unknown {\n return this.transformer ? this.transformer.toControlValue(value) : value;\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {\n ComponentRef,\n EmbeddedViewRef,\n Provider,\n TemplateRef,\n ViewRef,\n} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n this.removeTemplate(hostView);\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C> | ViewRef): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import type {FactoryProvider, ProviderToken} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any> = {\n fromControlValue: identity,\n toControlValue: identity,\n};\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n signal,\n untracked,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly cdr = inject(ChangeDetectorRef);\n protected transformer =\n inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.update());\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n const internal = untracked(() => this.internal());\n\n if (value === internal) {\n return;\n }\n\n onChange(this.transformer.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.transformer.fromControlValue(safe));\n this.update();\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {\n ComponentRef,\n EmbeddedViewRef,\n Provider,\n TemplateRef,\n ViewRef,\n} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n this.removeTemplate(hostView);\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C> | ViewRef): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -212,7 +212,7 @@ const TUI_USED_ICONS = [
212
212
  '@tui.move-up',
213
213
  ];
214
214
 
215
- const TUI_VERSION = '4.38.0-canary.507d44d';
215
+ const TUI_VERSION = '4.38.0-canary.99e3a33';
216
216
 
217
217
  /**
218
218
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import type {CreateEffectOptions} from '@angular/core';\nimport {VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.external-link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n] as const;\n","export const TUI_VERSION = '4.38.0-canary.507d44d';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import type {CreateEffectOptions} from '@angular/core';\nimport {VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.external-link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n] as const;\n","export const TUI_VERSION = '4.38.0-canary.99e3a33';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGa,MAAA,uBAAuB,GAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,iBAAiB,EAAE,IAAI;;ACFrE,MAAM,IAAI,GAAG;AACT,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,CAAC,EAAE,CAAC;CACE,CAAC;AAEX;;;;AAIG;AACU,MAAA,WAAW,GAAG,IAAI,SAAS,GAAQ;AACzC,MAAM,WAAW,GAAO,GAAG;MACrB,cAAc,GAA6B,MAAK,IAAI;AACpD,MAAA,iBAAiB,GAAY;AACtC,IAAA,GAAG,IAAI;AACP,IAAA,MAAM,EAAE,MAAM,IAAI;;;ACvBtB;;AAEG;AACH;MACa,iBAAiB,GAAG,MAAa,MAAM;AAEpD;;AAEG;AACH;MACa,gBAAgB,GAAG,MAAY;;ACR5C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc,EAAA;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F,CAAC;AAED;;;;;AAKG;AACI,MAAM,mBAAmB,GAAG,CAC/B,IAAO,EACP,MAAc,EACd,SAAA,GAAmC,MAAM,KAC/B,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;AAE3E;;;;;AAKG;AACU,MAAA,kBAAkB,GAAG,CAC9B,IAAO,EACP,MAAc,EACd,SAAmC,GAAA,MAAM,KAC/B,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,GAAG;AAErE;;;;;;AAMG;MACU,4BAA4B,GAAgC,CAAC,KAAK,EAAE,KAAK,KAClF,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK;;ACtCtC,MAAM,gBAAgB,GAAG,KAAK;AAC9B,MAAM,oBAAoB,GAAG,KAAK;AAClC,MAAM,qBAAqB,GAAG;;ACFxB,MAAA,aAAa,GAAgD;AACtE,IAAA,UAAU,CAAC,IAAU,EAAA;QACjB,OAAO,iBAAiB,IAAI,IAAI;cAC1B,UAAU,CAAC,aAAa;AAC1B,cAAE,UAAU,CAAC,aAAa,CAAC;KAClC;;;ACLL;;AAEG;AACI,MAAM,mBAAmB,GAAG,SAAS;AAE5C;;;;;;AAMG;AACI,MAAM,YAAY,GAAG,SAAS;AAErC;;;;;;AAMG;AACI,MAAM,YAAY,GAAG,SAAS;AAErC;;AAEG;AACI,MAAM,UAAU,GAAG,SAAS;AAEnC;;AAEG;AACI,MAAM,UAAU,GAAG,SAAS;AAEnC;;;;;;AAMG;AACI,MAAM,WAAW,GAAG,SAAS;AAEpC;;;;;AAKG;AACI,MAAM,UAAU,GAAG,SAAS;AAEnC;;AAEG;AACI,MAAM,SAAS,GAAG,SAAS;AAElC;;AAEG;AACI,MAAM,WAAW,GAAG,SAAS;AAEpC;;AAEG;AACI,MAAM,aAAa,GAAG,SAAS;AAEtC;;AAEG;AACI,MAAM,kBAAkB,GAAG,SAAS;AAE3C;;AAEG;AACI,MAAM,qBAAqB,GAAG;;ACzErC;;;;;AAKG;AACU,MAAA,cAAc,GAAG;IAC1B,UAAU;IACV,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,oBAAoB;IACpB,aAAa;IACb,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,cAAc;IACd,UAAU;IACV,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,mBAAmB;IACnB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,QAAQ;IACR,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,eAAe;IACf,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,wBAAwB;IACxB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,sBAAsB;IACtB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,mBAAmB;IACnB,cAAc;;;ACvEX,MAAM,WAAW,GAAG;;ACA3B;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input } from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
3
  import { Validators, NG_VALIDATORS } from '@angular/forms';
4
4
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
5
5
  import { tuiProvide } from '@taiga-ui/cdk/utils';
@@ -7,10 +7,7 @@ import { tuiProvide } from '@taiga-ui/cdk/utils';
7
7
  class TuiValidator {
8
8
  constructor() {
9
9
  this.onChange = EMPTY_FUNCTION;
10
- this.tuiValidator = Validators.nullValidator;
11
- }
12
- validate(control) {
13
- return this.tuiValidator(control);
10
+ this.validate = Validators.nullValidator;
14
11
  }
15
12
  registerOnValidatorChange(onChange) {
16
13
  this.onChange = onChange;
@@ -18,23 +15,18 @@ class TuiValidator {
18
15
  ngOnChanges() {
19
16
  this.onChange();
20
17
  }
21
- ngOnDestroy() {
22
- this.tuiValidator = Validators.nullValidator;
23
- this.onChange();
24
- }
25
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValidator, isStandalone: true, selector: "[tuiValidator]", inputs: { tuiValidator: "tuiValidator" }, providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)], usesOnChanges: true, ngImport: i0 }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiValidator, isStandalone: true, selector: "[tuiValidator]", inputs: { validate: ["tuiValidator", "validate"] }, providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)], usesOnChanges: true, ngImport: i0 }); }
27
20
  }
28
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValidator, decorators: [{
29
22
  type: Directive,
30
23
  args: [{
31
24
  standalone: true,
32
25
  selector: '[tuiValidator]',
26
+ inputs: ['validate: tuiValidator'],
33
27
  providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)],
34
28
  }]
35
- }], propDecorators: { tuiValidator: [{
36
- type: Input
37
- }] } });
29
+ }] });
38
30
 
39
31
  /**
40
32
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-validator.mjs","sources":["../../../projects/cdk/directives/validator/validator.directive.ts","../../../projects/cdk/directives/validator/taiga-ui-cdk-directives-validator.ts"],"sourcesContent":["import type {OnChanges, OnDestroy} from '@angular/core';\nimport {Directive, Input} from '@angular/core';\nimport type {\n AbstractControl,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\nimport {NG_VALIDATORS, Validators} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\n\n@Directive({\n standalone: true,\n selector: '[tuiValidator]',\n providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)],\n})\nexport class TuiValidator implements Validator, OnChanges, OnDestroy {\n private onChange = EMPTY_FUNCTION;\n\n @Input()\n public tuiValidator: ValidatorFn = Validators.nullValidator;\n\n public validate(control: AbstractControl): ValidationErrors | null {\n return this.tuiValidator(control);\n }\n\n public registerOnValidatorChange(onChange: (...args: any[]) => void): void {\n this.onChange = onChange;\n }\n\n public ngOnChanges(): void {\n this.onChange();\n }\n\n public ngOnDestroy(): void {\n this.tuiValidator = Validators.nullValidator;\n this.onChange();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAYA,MAKa,YAAY,CAAA;AALzB,IAAA,WAAA,GAAA;QAMY,IAAQ,CAAA,QAAA,GAAG,cAAc,CAAC;AAG3B,QAAA,IAAA,CAAA,YAAY,GAAgB,UAAU,CAAC,aAAa,CAAC;AAkB/D,KAAA;AAhBU,IAAA,QAAQ,CAAC,OAAwB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KACrC;AAEM,IAAA,yBAAyB,CAAC,QAAkC,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;+GArBQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAFV,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEjD,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAAgB,YAAA,EAAA,IAAI,CAAC,CAAC;AAC7D,iBAAA,CAAA;8BAKU,YAAY,EAAA,CAAA;sBADlB,KAAK;;;ACpBV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-validator.mjs","sources":["../../../projects/cdk/directives/validator/validator.directive.ts","../../../projects/cdk/directives/validator/taiga-ui-cdk-directives-validator.ts"],"sourcesContent":["import type {OnChanges} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport type {Validator} from '@angular/forms';\nimport {NG_VALIDATORS, Validators} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\n\n@Directive({\n standalone: true,\n selector: '[tuiValidator]',\n inputs: ['validate: tuiValidator'],\n providers: [tuiProvide(NG_VALIDATORS, TuiValidator, true)],\n})\nexport class TuiValidator implements Validator, OnChanges {\n protected onChange = EMPTY_FUNCTION;\n\n public validate = Validators.nullValidator;\n\n public registerOnValidatorChange(onChange: (...args: any[]) => void): void {\n this.onChange = onChange;\n }\n\n public ngOnChanges(): void {\n this.onChange();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAOA,MAMa,YAAY,CAAA;AANzB,IAAA,WAAA,GAAA;QAOc,IAAQ,CAAA,QAAA,GAAG,cAAc,CAAC;AAE7B,QAAA,IAAA,CAAA,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC;AAS9C,KAAA;AAPU,IAAA,yBAAyB,CAAC,QAAkC,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;+GAXQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,SAAA,EAFV,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEjD,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE,CAAC,wBAAwB,CAAC;oBAClC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAAgB,YAAA,EAAA,IAAI,CAAC,CAAC;AAC7D,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "4.38.0-canary.507d44d",
3
+ "version": "4.38.0-canary.99e3a33",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
@@ -43,18 +43,18 @@
43
43
  "esm": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
44
44
  "default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
45
45
  },
46
- "./directives": {
47
- "types": "./directives/index.d.ts",
48
- "esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
49
- "esm": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
50
- "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
51
- },
52
46
  "./observables": {
53
47
  "types": "./observables/index.d.ts",
54
48
  "esm2022": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
55
49
  "esm": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
56
50
  "default": "./fesm2022/taiga-ui-cdk-observables.mjs"
57
51
  },
52
+ "./directives": {
53
+ "types": "./directives/index.d.ts",
54
+ "esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
55
+ "esm": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
56
+ "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
57
+ },
58
58
  "./pipes": {
59
59
  "types": "./pipes/index.d.ts",
60
60
  "esm2022": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",