@taiga-ui/cdk 4.53.0 → 4.55.0

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.
Files changed (28) hide show
  1. package/constants/version.d.ts +1 -1
  2. package/constants/version.js +1 -1
  3. package/directives/active-zone/active-zone.directive.d.ts +1 -1
  4. package/directives/animated/animated.directive.d.ts +0 -1
  5. package/directives/for/for.directive.d.ts +3 -0
  6. package/directives/let/let.directive.d.ts +1 -2
  7. package/esm2022/constants/version.mjs +2 -2
  8. package/esm2022/directives/active-zone/active-zone.directive.mjs +5 -6
  9. package/esm2022/directives/animated/animated.directive.mjs +42 -39
  10. package/esm2022/directives/focus-trap/focus-trap.directive.mjs +6 -14
  11. package/esm2022/directives/for/for.directive.mjs +4 -1
  12. package/esm2022/directives/let/let.directive.mjs +2 -3
  13. package/esm2022/directives/obscured/obscured.directive.mjs +4 -2
  14. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
  15. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +4 -5
  17. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +41 -38
  19. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +5 -13
  21. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-cdk-directives-for.mjs +3 -0
  23. package/fesm2022/taiga-ui-cdk-directives-for.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-cdk-directives-let.mjs +1 -2
  25. package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +3 -1
  27. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  28. package/package.json +7 -7
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.53.0";
1
+ export declare const TUI_VERSION = "4.55.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.53.0';
4
+ exports.TUI_VERSION = '4.55.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -7,9 +7,9 @@ export declare class TuiActiveZone implements OnDestroy {
7
7
  private readonly zone;
8
8
  private readonly el;
9
9
  private tuiActiveZoneParent;
10
- private subActiveZones;
11
10
  private readonly directParentActiveZone;
12
11
  readonly tuiActiveZoneChange: Observable<boolean>;
12
+ children: readonly TuiActiveZone[];
13
13
  constructor();
14
14
  set tuiActiveZoneParentSetter(zone: TuiActiveZone | null);
15
15
  ngOnDestroy(): void;
@@ -5,7 +5,6 @@ export declare const TUI_LEAVE = "tui-leave";
5
5
  export declare class TuiAnimated implements OnDestroy {
6
6
  private readonly renderer;
7
7
  private readonly el;
8
- private readonly app;
9
8
  constructor();
10
9
  ngOnDestroy(): void;
11
10
  protected remove(): void;
@@ -1,5 +1,8 @@
1
1
  import { type OnChanges, type TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated use modern control flow (`@for`) syntax instead
5
+ */
3
6
  export declare class TuiFor<T, K = unknown> implements OnChanges {
4
7
  private readonly vcr;
5
8
  private ref?;
@@ -1,8 +1,7 @@
1
1
  import { TuiLetContext } from './let-context';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
- * Works like *ngIf but does not have a condition — use it to declare
5
- * the result of pipes calculation (i.e. async pipe)
4
+ * @deprecated use @let instead
6
5
  */
7
6
  export declare class TuiLet<T> {
8
7
  tuiLet: T;
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.53.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNTMuMCc7XG4iXX0=
1
+ export const TUI_VERSION = '4.55.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNTUuMCc7XG4iXX0=
@@ -14,7 +14,6 @@ class TuiActiveZone {
14
14
  this.zone = inject(NgZone);
15
15
  this.el = tuiInjectElement();
16
16
  this.tuiActiveZoneParent = null;
17
- this.subActiveZones = [];
18
17
  this.directParentActiveZone = inject(TuiActiveZone, {
19
18
  skipSelf: true,
20
19
  optional: true,
@@ -24,6 +23,7 @@ class TuiActiveZone {
24
23
  this.control.valueAccessor.onTouched();
25
24
  }
26
25
  }), tuiZoneOptimized(this.zone), share());
26
+ this.children = [];
27
27
  this.directParentActiveZone?.addSubActiveZone(this);
28
28
  }
29
29
  set tuiActiveZoneParentSetter(zone) {
@@ -34,8 +34,7 @@ class TuiActiveZone {
34
34
  this.tuiActiveZoneParent?.removeSubActiveZone(this);
35
35
  }
36
36
  contains(node) {
37
- return (this.el.contains(node) ||
38
- this.subActiveZones.some((item, index, array) => array.indexOf(item) === index && item.contains(node)));
37
+ return (this.el.contains(node) || this.children.some((item) => item.contains(node)));
39
38
  }
40
39
  setZone(zone) {
41
40
  this.tuiActiveZoneParent?.removeSubActiveZone(this);
@@ -43,10 +42,10 @@ class TuiActiveZone {
43
42
  this.tuiActiveZoneParent = zone;
44
43
  }
45
44
  addSubActiveZone(activeZone) {
46
- this.subActiveZones = [...this.subActiveZones, activeZone];
45
+ this.children = [...this.children, activeZone];
47
46
  }
48
47
  removeSubActiveZone(activeZone) {
49
- this.subActiveZones = tuiArrayRemove(this.subActiveZones, this.subActiveZones.indexOf(activeZone));
48
+ this.children = tuiArrayRemove(this.children, this.children.indexOf(activeZone));
50
49
  }
51
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiActiveZone, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
51
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiActiveZone, isStandalone: true, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: { tuiActiveZoneParentSetter: ["tuiActiveZoneParent", "tuiActiveZoneParentSetter"] }, outputs: { tuiActiveZoneChange: "tuiActiveZoneChange" }, host: { listeners: { "document:mousedown.zoneless": "(0)" } }, exportAs: ["tuiActiveZone"], ngImport: i0 }); }
@@ -71,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
70
  type: Input,
72
71
  args: ['tuiActiveZoneParent']
73
72
  }], setZone: [] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUvYWN0aXZlLXpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFrQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUNILG9CQUFvQixFQUNwQixHQUFHLEVBRUgsS0FBSyxFQUNMLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BU2EsYUFBYTtJQTRCdEI7UUEzQkEsZ0VBQWdFO1FBQy9DLFlBQU8sR0FBUSxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMvRCxZQUFPLEdBQUcsTUFBTSxDQUE2QixrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDakMsd0JBQW1CLEdBQXlCLElBQUksQ0FBQztRQUNqRCxtQkFBYyxHQUE2QixFQUFFLENBQUM7UUFDckMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUM1RCxRQUFR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LCB0eXBlIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aVpvbmVPcHRpbWl6ZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfQUNUSVZFX0VMRU1FTlR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQXJyYXlSZW1vdmUsIHR1aUluamVjdEVsZW1lbnQsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBtYXAsXG4gICAgdHlwZSBPYnNlcnZhYmxlLFxuICAgIHNoYXJlLFxuICAgIHNraXAsXG4gICAgc3RhcnRXaXRoLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdbdHVpQWN0aXZlWm9uZV06bm90KG5nLWNvbnRhaW5lciksIFt0dWlBY3RpdmVab25lQ2hhbmdlXTpub3QobmctY29udGFpbmVyKSwgW3R1aUFjdGl2ZVpvbmVQYXJlbnRdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBleHBvcnRBczogJ3R1aUFjdGl2ZVpvbmUnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhkb2N1bWVudDptb3VzZWRvd24uem9uZWxlc3MpJzogJygwKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWN0aXZlWm9uZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLy8gVE9ETzogU2hvdWxkIHdlIHJlbW92ZSBpbiB2NT8gSXQncyBubyBsb25nZXIgdXNlZCBpbiBUYWlnYSBVSVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbDogYW55ID0gaW5qZWN0KE5nQ29udHJvbCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmUkID0gaW5qZWN0PE9ic2VydmFibGU8RWxlbWVudCB8IG51bGw+PihUVUlfQUNUSVZFX0VMRU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSB0dWlBY3RpdmVab25lUGFyZW50OiBUdWlBY3RpdmVab25lIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBzdWJBY3RpdmVab25lczogcmVhZG9ubHkgVHVpQWN0aXZlWm9uZVtdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RQYXJlbnRBY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUsIHtcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aUFjdGl2ZVpvbmVDaGFuZ2UgPSB0aGlzLmFjdGl2ZSQucGlwZShcbiAgICAgICAgbWFwKChlbGVtZW50KSA9PiAhIWVsZW1lbnQgJiYgdGhpcy5jb250YWlucyhlbGVtZW50KSksXG4gICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHRhcCgoYWN0aXZlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWFjdGl2ZSAmJiB0eXBlb2YgdGhpcy5jb250cm9sPy52YWx1ZUFjY2Vzc29yLm9uVG91Y2hlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yLm9uVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLnpvbmUpLFxuICAgICAgICBzaGFyZSgpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5kaXJlY3RQYXJlbnRBY3RpdmVab25lPy5hZGRTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgIH1cblxuICAgIEBJbnB1dCgndHVpQWN0aXZlWm9uZVBhcmVudCcpXG4gICAgcHVibGljIHNldCB0dWlBY3RpdmVab25lUGFyZW50U2V0dGVyKHpvbmU6IFR1aUFjdGl2ZVpvbmUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0Wm9uZSh6b25lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlyZWN0UGFyZW50QWN0aXZlWm9uZT8ucmVtb3ZlU3ViQWN0aXZlWm9uZSh0aGlzKTtcbiAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50Py5yZW1vdmVTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmVsLmNvbnRhaW5zKG5vZGUpIHx8XG4gICAgICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzLnNvbWUoXG4gICAgICAgICAgICAgICAgKGl0ZW0sIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICAgICAgICAgICAgYXJyYXkuaW5kZXhPZihpdGVtKSA9PT0gaW5kZXggJiYgaXRlbS5jb250YWlucyhub2RlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgc2V0Wm9uZSh6b25lOiBUdWlBY3RpdmVab25lIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnR1aUFjdGl2ZVpvbmVQYXJlbnQ/LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIHpvbmU/LmFkZFN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudCA9IHpvbmU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRTdWJBY3RpdmVab25lKGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJBY3RpdmVab25lcyA9IFsuLi50aGlzLnN1YkFjdGl2ZVpvbmVzLCBhY3RpdmVab25lXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVN1YkFjdGl2ZVpvbmUoYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzID0gdHVpQXJyYXlSZW1vdmUoXG4gICAgICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzLFxuICAgICAgICAgICAgdGhpcy5zdWJBY3RpdmVab25lcy5pbmRleE9mKGFjdGl2ZVpvbmUpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUvYWN0aXZlLXpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFrQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUNILG9CQUFvQixFQUNwQixHQUFHLEVBRUgsS0FBSyxFQUNMLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BU2EsYUFBYTtJQTZCdEI7UUE1QkEsZ0VBQWdFO1FBQy9DLFlBQU8sR0FBUSxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMvRCxZQUFPLEdBQUcsTUFBTSxDQUE2QixrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDakMsd0JBQW1CLEdBQXlCLElBQUksQ0FBQztRQUN4QywyQkFBc0IsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzVELFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBR2Esd0JBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3JELFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFDaEIsb0JBQW9CLEVBQUUsRUFDdEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQzFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUMzQixLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUssYUFBUSxHQUE2QixFQUFFLENBQUM7UUFHM0MsSUFBSSxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUNXLHlCQUF5QixDQUFDLElBQTBCO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxRQUFRLENBQUMsSUFBVTtRQUN0QixPQUFPLENBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDOUUsQ0FBQztJQUNOLENBQUM7SUFHTyxPQUFPLENBQUMsSUFBMEI7UUFDdEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUF5QjtRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUF5QjtRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0E5RFEsYUFBYTttR0FBYixhQUFhOztBQWtEZDtJQURQLE9BQU87NENBS1A7U0F0RFEsYUFBYTs0RkFBYixhQUFhO2tCQVR6QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ0oscUhBQXFIO29CQUN6SCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNGLCtCQUErQixFQUFFLEtBQUs7cUJBQ3pDO2lCQUNKOzBFQWNtQixtQkFBbUI7c0JBRGxDLE1BQU07Z0JBc0JJLHlCQUF5QjtzQkFEbkMsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBaUJwQixPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE5nWm9uZSwgdHlwZSBPbkRlc3Ryb3ksIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX0FDVElWRV9FTEVNRU5UfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUFycmF5UmVtb3ZlLCB0dWlJbmplY3RFbGVtZW50LCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgbWFwLFxuICAgIHR5cGUgT2JzZXJ2YWJsZSxcbiAgICBzaGFyZSxcbiAgICBza2lwLFxuICAgIHN0YXJ0V2l0aCxcbiAgICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOlxuICAgICAgICAnW3R1aUFjdGl2ZVpvbmVdOm5vdChuZy1jb250YWluZXIpLCBbdHVpQWN0aXZlWm9uZUNoYW5nZV06bm90KG5nLWNvbnRhaW5lciksIFt0dWlBY3RpdmVab25lUGFyZW50XTpub3QobmctY29udGFpbmVyKScsXG4gICAgZXhwb3J0QXM6ICd0dWlBY3RpdmVab25lJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcoZG9jdW1lbnQ6bW91c2Vkb3duLnpvbmVsZXNzKSc6ICcoMCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFjdGl2ZVpvbmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8vIFRPRE86IFNob3VsZCB3ZSByZW1vdmUgaW4gdjU/IEl0J3Mgbm8gbG9uZ2VyIHVzZWQgaW4gVGFpZ2EgVUlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IGFueSA9IGluamVjdChOZ0NvbnRyb2wsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlJCA9IGluamVjdDxPYnNlcnZhYmxlPEVsZW1lbnQgfCBudWxsPj4oVFVJX0FDVElWRV9FTEVNRU5UKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgdHVpQWN0aXZlWm9uZVBhcmVudDogVHVpQWN0aXZlWm9uZSB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0UGFyZW50QWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lLCB7XG4gICAgICAgIHNraXBTZWxmOiB0cnVlLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB0dWlBY3RpdmVab25lQ2hhbmdlID0gdGhpcy5hY3RpdmUkLnBpcGUoXG4gICAgICAgIG1hcCgoZWxlbWVudCkgPT4gISFlbGVtZW50ICYmIHRoaXMuY29udGFpbnMoZWxlbWVudCkpLFxuICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YXAoKGFjdGl2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFhY3RpdmUgJiYgdHlwZW9mIHRoaXMuY29udHJvbD8udmFsdWVBY2Nlc3Nvci5vblRvdWNoZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3Nvci5vblRvdWNoZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHR1aVpvbmVPcHRpbWl6ZWQodGhpcy56b25lKSxcbiAgICAgICAgc2hhcmUoKSxcbiAgICApO1xuXG4gICAgcHVibGljIGNoaWxkcmVuOiByZWFkb25seSBUdWlBY3RpdmVab25lW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmRpcmVjdFBhcmVudEFjdGl2ZVpvbmU/LmFkZFN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgfVxuXG4gICAgQElucHV0KCd0dWlBY3RpdmVab25lUGFyZW50JylcbiAgICBwdWJsaWMgc2V0IHR1aUFjdGl2ZVpvbmVQYXJlbnRTZXR0ZXIoem9uZTogVHVpQWN0aXZlWm9uZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5zZXRab25lKHpvbmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJlY3RQYXJlbnRBY3RpdmVab25lPy5yZW1vdmVTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB0aGlzLnR1aUFjdGl2ZVpvbmVQYXJlbnQ/LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZWwuY29udGFpbnMobm9kZSkgfHwgdGhpcy5jaGlsZHJlbi5zb21lKChpdGVtKSA9PiBpdGVtLmNvbnRhaW5zKG5vZGUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBzZXRab25lKHpvbmU6IFR1aUFjdGl2ZVpvbmUgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudD8ucmVtb3ZlU3ViQWN0aXZlWm9uZSh0aGlzKTtcbiAgICAgICAgem9uZT8uYWRkU3ViQWN0aXZlWm9uZSh0aGlzKTtcbiAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50ID0gem9uZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFN1YkFjdGl2ZVpvbmUoYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gWy4uLnRoaXMuY2hpbGRyZW4sIGFjdGl2ZVpvbmVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlU3ViQWN0aXZlWm9uZShhY3RpdmVab25lOiBUdWlBY3RpdmVab25lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0dWlBcnJheVJlbW92ZSh0aGlzLmNoaWxkcmVuLCB0aGlzLmNoaWxkcmVuLmluZGV4T2YoYWN0aXZlWm9uZSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { afterNextRender, ApplicationRef, Directive, inject, ViewContainerRef, } from '@angular/core';
1
+ import { isPlatformServer } from '@angular/common';
2
+ import { afterNextRender, ApplicationRef, Directive, inject, PLATFORM_ID, ViewContainerRef, } from '@angular/core';
2
3
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
3
4
  import * as i0 from "@angular/core";
4
5
  export const TUI_ENTER = 'tui-enter';
@@ -8,53 +9,24 @@ class TuiAnimated {
8
9
  // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56
9
10
  this.renderer = inject(ViewContainerRef)._hostLView?.[11];
10
11
  this.el = tuiInjectElement();
11
- this.app = inject(ApplicationRef);
12
12
  afterNextRender(() => this.remove());
13
- if (!this.renderer) {
13
+ if (!this.renderer || isPlatformServer(inject(PLATFORM_ID))) {
14
14
  return;
15
15
  }
16
16
  // delegate is used in Angular Animations renderer
17
17
  const renderer = this.renderer.delegate || this.renderer;
18
- const { removeChild, data } = renderer;
19
- if (data[TUI_LEAVE]) {
20
- data[TUI_LEAVE].push(this.el);
21
- return;
18
+ if (renderer.data[TUI_LEAVE]) {
19
+ renderer.data[TUI_LEAVE].push(this.el);
20
+ }
21
+ else {
22
+ renderer.data[TUI_LEAVE] = [this.el];
23
+ renderer.removeChild = wrap(renderer);
22
24
  }
23
- data[TUI_LEAVE] = [this.el];
24
- afterNextRender(() => {
25
- renderer.removeChild = (parent, el, host) => {
26
- const remove = () => removeChild.call(renderer, parent, el, host);
27
- const elements = data[TUI_LEAVE];
28
- const element = elements.find((leave) => el.contains(leave));
29
- if (!element) {
30
- remove();
31
- return;
32
- }
33
- element.classList.remove(TUI_ENTER);
34
- const { length } = element.getAnimations?.() || [];
35
- element.classList.add(TUI_LEAVE);
36
- const animations = element.getAnimations?.() ?? [];
37
- const last = animations[animations.length - 1];
38
- const finish = () => {
39
- if (!parent || parent.contains(el)) {
40
- remove();
41
- this.app.tick();
42
- }
43
- };
44
- if (animations.length > length && last) {
45
- last.onfinish = finish;
46
- last.oncancel = finish;
47
- }
48
- else {
49
- remove();
50
- }
51
- };
52
- });
53
25
  }
54
26
  ngOnDestroy() {
55
27
  const data = this.renderer?.data || { [TUI_LEAVE]: [] };
56
28
  setTimeout(() => {
57
- data[TUI_LEAVE] = data[TUI_LEAVE].filter((e) => e !== this.el);
29
+ data[TUI_LEAVE] = data[TUI_LEAVE]?.filter((e) => e !== this.el);
58
30
  });
59
31
  }
60
32
  remove() {
@@ -78,4 +50,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
50
  },
79
51
  }]
80
52
  }], ctorParameters: function () { return []; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQvYW5pbWF0ZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLFNBQVMsRUFDVCxNQUFNLEVBRU4sZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFFckMsTUFTYSxXQUFXO0lBTXBCO1FBTEEsMkdBQTJHO1FBQzFGLGFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRzFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPO1NBQ1Y7UUFFRCxrREFBa0Q7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6RCxNQUFNLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxHQUFHLFFBQVEsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENB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QkFDaEIscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsd0JBQXdCLEVBQUUsVUFBVTtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIHR5cGUgT25EZXN0cm95LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5cbmV4cG9ydCBjb25zdCBUVUlfRU5URVIgPSAndHVpLWVudGVyJztcbmV4cG9ydCBjb25zdCBUVUlfTEVBVkUgPSAndHVpLWxlYXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlBbmltYXRlZF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6IFRVSV9FTlRFUixcbiAgICAgICAgJyhhbmltYXRpb25lbmQuc2VsZiknOiAncmVtb3ZlKCknLFxuICAgICAgICAnKGFuaW1hdGlvbmNhbmNlbC5zZWxmKSc6ICdyZW1vdmUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQW5pbWF0ZWQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8vIEB0cy1pZ25vcmUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21haW4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnRlcmZhY2VzL3ZpZXcudHMjTDU2XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKS5faG9zdExWaWV3Py5bMTFdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHAgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLnJlbW92ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlbGVnYXRlIGlzIHVzZWQgaW4gQW5ndWxhciBBbmltYXRpb25zIHJlbmRlcmVyXG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlci5kZWxlZ2F0ZSB8fCB0aGlzLnJlbmRlcmVyO1xuICAgICAgICBjb25zdCB7cmVtb3ZlQ2hpbGQsIGRhdGF9ID0gcmVuZGVyZXI7XG5cbiAgICAgICAgaWYgKGRhdGFbVFVJX0xFQVZFXSkge1xuICAgICAgICAgICAgZGF0YVtUVUlfTEVBVkVdLnB1c2godGhpcy5lbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbVFVJX0xFQVZFXSA9IFt0aGlzLmVsXTtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQgPSAocGFyZW50OiBOb2RlLCBlbDogTm9kZSwgaG9zdD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmUgPSAoKTogdm9pZCA9PiByZW1vdmVDaGlsZC5jYWxsKHJlbmRlcmVyLCBwYXJlbnQsIGVsLCBob3N0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50czogRWxlbWVudFtdID0gZGF0YVtUVUlfTEVBVkVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50cy5maW5kKChsZWF2ZSkgPT4gZWwuY29udGFpbnMobGVhdmUpKTtcblxuICAgICAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmUoKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFRVSV9FTlRFUik7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7bGVuZ3RofSA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucz8uKCkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoVFVJX0xFQVZFKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbnMgPSBlbGVtZW50LmdldEFuaW1hdGlvbnM/LigpID8/IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBhbmltYXRpb25zW2FuaW1hdGlvbnMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgY29uc3QgZmluaXNoID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmVudCB8fCBwYXJlbnQuY29udGFpbnMoZWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLnRpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBpZiAoYW5pbWF0aW9ucy5sZW5ndGggPiBsZW5ndGggJiYgbGFzdCkge1xuICAgICAgICAgICAgICAgICAgICBsYXN0Lm9uZmluaXNoID0gZmluaXNoO1xuICAgICAgICAgICAgICAgICAgICBsYXN0Lm9uY2FuY2VsID0gZmluaXNoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucmVuZGVyZXI/LmRhdGEgfHwge1tUVUlfTEVBVkVdOiBbXX07XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkYXRhW1RVSV9MRUFWRV0gPSBkYXRhW1RVSV9MRUFWRV0uZmlsdGVyKChlOiBFbGVtZW50KSA9PiBlICE9PSB0aGlzLmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWwuaXNDb25uZWN0ZWQgJiYgIXRoaXMuZWwuZ2V0QW5pbWF0aW9ucz8uKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmVsLmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
53
+ function wrap(renderer) {
54
+ const { removeChild } = renderer;
55
+ const app = inject(ApplicationRef);
56
+ return (parent, el, host) => {
57
+ const remove = () => removeChild.call(renderer, parent, el, host);
58
+ const elements = renderer.data[TUI_LEAVE];
59
+ const element = elements.find((leave) => el.contains(leave));
60
+ if (!element) {
61
+ remove();
62
+ return;
63
+ }
64
+ element.classList.remove(TUI_ENTER);
65
+ const { length } = element.getAnimations?.() || [];
66
+ element.classList.add(TUI_LEAVE);
67
+ const animations = element.getAnimations?.() ?? [];
68
+ const last = animations[animations.length - 1];
69
+ const finish = () => {
70
+ if (!parent || parent.contains(el)) {
71
+ remove();
72
+ app.tick();
73
+ }
74
+ };
75
+ if (animations.length > length && last) {
76
+ last.onfinish = finish;
77
+ last.oncancel = finish;
78
+ }
79
+ else {
80
+ remove();
81
+ }
82
+ };
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQvYW5pbWF0ZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLFNBQVMsRUFDVCxNQUFNLEVBRU4sV0FBVyxFQUVYLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFekQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBRXJDLE1BU2EsV0FBVztJQUtwQjtRQUpBLDJHQUEyRztRQUMxRixhQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFHckMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1lBQ3pELE9BQU87U0FDVjtRQUVELGtEQUFrRDtRQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXpELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElB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QUFDO1FBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7U0FDMUI7YUFBTTtZQUNILE1BQU0sRUFBRSxDQUFDO1NBQ1o7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtU2VydmVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICB0eXBlIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbiAgICB0eXBlIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuXG5leHBvcnQgY29uc3QgVFVJX0VOVEVSID0gJ3R1aS1lbnRlcic7XG5leHBvcnQgY29uc3QgVFVJX0xFQVZFID0gJ3R1aS1sZWF2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQW5pbWF0ZWRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBUVUlfRU5URVIsXG4gICAgICAgICcoYW5pbWF0aW9uZW5kLnNlbGYpJzogJ3JlbW92ZSgpJyxcbiAgICAgICAgJyhhbmltYXRpb25jYW5jZWwuc2VsZiknOiAncmVtb3ZlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFuaW1hdGVkIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvLyBAdHMtaWdub3JlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy92aWV3LnRzI0w1NlxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZikuX2hvc3RMVmlldz8uWzExXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLnJlbW92ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIgfHwgaXNQbGF0Zm9ybVNlcnZlcihpbmplY3QoUExBVEZPUk1fSUQpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZGVsZWdhdGUgaXMgdXNlZCBpbiBBbmd1bGFyIEFuaW1hdGlvbnMgcmVuZGVyZXJcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyLmRlbGVnYXRlIHx8IHRoaXMucmVuZGVyZXI7XG5cbiAgICAgICAgaWYgKHJlbmRlcmVyLmRhdGFbVFVJX0xFQVZFXSkge1xuICAgICAgICAgICAgcmVuZGVyZXIuZGF0YVtUVUlfTEVBVkVdLnB1c2godGhpcy5lbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJlci5kYXRhW1RVSV9MRUFWRV0gPSBbdGhpcy5lbF07XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCA9IHdyYXAocmVuZGVyZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZW5kZXJlcj8uZGF0YSB8fCB7W1RVSV9MRUFWRV06IFtdfTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGRhdGFbVFVJX0xFQVZFXSA9IGRhdGFbVFVJX0xFQVZFXT8uZmlsdGVyKChlOiBFbGVtZW50KSA9PiBlICE9PSB0aGlzLmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWwuaXNDb25uZWN0ZWQgJiYgIXRoaXMuZWwuZ2V0QW5pbWF0aW9ucz8uKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmVsLmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcChyZW5kZXJlcjogUmVuZGVyZXIyKTogYW55IHtcbiAgICBjb25zdCB7cmVtb3ZlQ2hpbGR9ID0gcmVuZGVyZXI7XG4gICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcblxuICAgIHJldHVybiAocGFyZW50OiBOb2RlLCBlbDogTm9kZSwgaG9zdD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlID0gKCk6IHZvaWQgPT4gcmVtb3ZlQ2hpbGQuY2FsbChyZW5kZXJlciwgcGFyZW50LCBlbCwgaG9zdCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzOiBFbGVtZW50W10gPSByZW5kZXJlci5kYXRhW1RVSV9MRUFWRV07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50cy5maW5kKChsZWF2ZSkgPT4gZWwuY29udGFpbnMobGVhdmUpKTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJlbW92ZSgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcblxuICAgICAgICBjb25zdCB7bGVuZ3RofSA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucz8uKCkgfHwgW107XG5cbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKFRVSV9MRUFWRSk7XG5cbiAgICAgICAgY29uc3QgYW5pbWF0aW9ucyA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucz8uKCkgPz8gW107XG4gICAgICAgIGNvbnN0IGxhc3QgPSBhbmltYXRpb25zW2FuaW1hdGlvbnMubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGZpbmlzaCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICghcGFyZW50IHx8IHBhcmVudC5jb250YWlucyhlbCkpIHtcbiAgICAgICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgICAgICAgICBhcHAudGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChhbmltYXRpb25zLmxlbmd0aCA+IGxlbmd0aCAmJiBsYXN0KSB7XG4gICAgICAgICAgICBsYXN0Lm9uZmluaXNoID0gZmluaXNoO1xuICAgICAgICAgICAgbGFzdC5vbmNhbmNlbCA9IGZpbmlzaDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Directive, inject } from '@angular/core';
3
3
  import { tuiContainsOrAfter, tuiInjectElement, tuiIsHTMLElement, } from '@taiga-ui/cdk/utils/dom';
4
- import { tuiBlurNativeFocused, tuiGetClosestFocusable, tuiGetNativeFocused, } from '@taiga-ui/cdk/utils/focus';
4
+ import { tuiGetClosestFocusable, tuiGetNativeFocused } from '@taiga-ui/cdk/utils/focus';
5
5
  import * as i0 from "@angular/core";
6
6
  class TuiFocusTrap {
7
7
  constructor() {
@@ -27,18 +27,10 @@ class TuiFocusTrap {
27
27
  });
28
28
  }
29
29
  ngOnDestroy() {
30
- tuiBlurNativeFocused(this.doc);
31
- /**
32
- * HostListeners are triggered even after ngOnDestroy
33
- * {@link https://github.com/angular/angular/issues/38100}
34
- * so we need to delay it but stay in the same sync cycle,
35
- * therefore using Promise instead of setTimeout
36
- */
37
- Promise.resolve().then(() => {
38
- if (tuiIsHTMLElement(this.activeElement)) {
39
- this.activeElement.focus();
40
- }
41
- });
30
+ this.initialized = false;
31
+ if (tuiIsHTMLElement(this.activeElement)) {
32
+ this.activeElement.focus();
33
+ }
42
34
  }
43
35
  onFocusIn(node) {
44
36
  const { firstElementChild } = this.el;
@@ -64,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
64
56
  },
65
57
  }]
66
58
  }], ctorParameters: function () { return []; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3RCLE1BQU0sMkJBQTJCLENBQUM7O0FBRW5DLE1BUWEsWUFBWTtJQU1yQjtRQUxpQixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pDLGtCQUFhLEdBQW1CLElBQUksQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUcxQjs7OztXQUlHO1FBQ0gsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEI7Ozs7O2VBS0c7WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDZCxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0I7Ozs7O1dBS0c7UUFDSCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN4QixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFVO1FBQzFCLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksaUJBQWlCLEVBQUU7WUFDekQsc0JBQXNCLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTthQUNoQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7K0dBbERRLFlBQVk7bUdBQVosWUFBWTs7U0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBUnhCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDRixRQUFRLEVBQUUsR0FBRzt3QkFDYiwyQkFBMkIsRUFBRSx5Q0FBeUM7cUJBQ3pFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIHR5cGUgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ29udGFpbnNPckFmdGVyLFxuICAgIHR1aUluamVjdEVsZW1lbnQsXG4gICAgdHVpSXNIVE1MRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlCbHVyTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aUdldE5hdGl2ZUZvY3VzZWQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUZvY3VzVHJhcF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdGFiSW5kZXg6ICcwJyxcbiAgICAgICAgJyh3aW5kb3c6Zm9jdXNpbi56b25lbGVzcyknOiAnaW5pdGlhbGl6ZWQgJiYgb25Gb2N1c0luKCRldmVudC50YXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb2N1c1RyYXAgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgYWN0aXZlRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGlzIHdvdWxkIGNhdXNlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQgdG8gbG9zZSBmb2N1cyxcbiAgICAgICAgICogYnV0IGl0IG1pZ2h0IGNhdXNlIEV4cHJlc3Npb25DaGFuZ2VkIGVycm9yIGR1ZSB0byBwb3RlbnRpYWwgSG9zdEJpbmRpbmcuXG4gICAgICAgICAqIE1pY3JvdGFzayBrZWVwcyBpdCBpbiB0aGUgc2FtZSBmcmFtZSBidXQgYWxsb3dzIGNoYW5nZSBkZXRlY3Rpb24gdG8gcnVuXG4gICAgICAgICAqL1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhlIHNhbWUgZXZlbnQgY2FuIHN5bmNocm9ub3VzbHkgY2xvc2UgYWxyZWFkeSBvcGVuZWQgZm9jdXMgdHJhcCBhbmQgb3BlbiBhbm90aGVyIG9uZS5cbiAgICAgICAgICAgICAqIEFsbCBmb2N1cyB0cmFwcyBoYXZlIG1pY3JvdGFzayBpbnNpZGUgaXRzIGBuZ09uRGVzdHJveWAg4oCTXG4gICAgICAgICAgICAgKiB0aGV5IHNob3VsZCBiZSByZXNvbHZlZCBiZWZvcmUgZW5hYmxpbmcgb2YgbmV3IGZvY3VzIHRyYXAuXG4gICAgICAgICAgICAgKiBEb24ndCBlbmFibGUgYW55IG5ldyBldmVudCBsaXN0ZW5lcnMgYmVmb3JlIGBpbml0aWFsaXplZGAgZXF1YWxzIHRvIGB0cnVlYCFcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUVsZW1lbnQgPSB0dWlHZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0dWlCbHVyTmF0aXZlRm9jdXNlZCh0aGlzLmRvYyk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEhvc3RMaXN0ZW5lcnMgYXJlIHRyaWdnZXJlZCBldmVuIGFmdGVyIG5nT25EZXN0cm95XG4gICAgICAgICAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8zODEwMH1cbiAgICAgICAgICogc28gd2UgbmVlZCB0byBkZWxheSBpdCBidXQgc3RheSBpbiB0aGUgc2FtZSBzeW5jIGN5Y2xlLFxuICAgICAgICAgKiB0aGVyZWZvcmUgdXNpbmcgUHJvbWlzZSBpbnN0ZWFkIG9mIHNldFRpbWVvdXRcbiAgICAgICAgICovXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR1aUlzSFRNTEVsZW1lbnQodGhpcy5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c0luKG5vZGU6IE5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2ZpcnN0RWxlbWVudENoaWxkfSA9IHRoaXMuZWw7XG5cbiAgICAgICAgaWYgKCF0dWlDb250YWluc09yQWZ0ZXIodGhpcy5lbCwgbm9kZSkgJiYgZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe1xuICAgICAgICAgICAgICAgIGluaXRpYWw6IGZpcnN0RWxlbWVudENoaWxkLFxuICAgICAgICAgICAgICAgIHJvb3Q6IHRoaXMuZWwsXG4gICAgICAgICAgICB9KT8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLHNCQUFzQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRXRGLE1BUWEsWUFBWTtJQU1yQjtRQUxpQixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pDLGtCQUFhLEdBQW1CLElBQUksQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUcxQjs7OztXQUlHO1FBQ0gsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEI7Ozs7O2VBS0c7WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFVO1FBQzFCLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksaUJBQWlCLEVBQUU7WUFDekQsc0JBQXNCLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTthQUNoQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7K0dBMUNRLFlBQVk7bUdBQVosWUFBWTs7U0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBUnhCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDRixRQUFRLEVBQUUsR0FBRzt3QkFDYiwyQkFBMkIsRUFBRSx5Q0FBeUM7cUJBQ3pFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIHR5cGUgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ29udGFpbnNPckFmdGVyLFxuICAgIHR1aUluamVjdEVsZW1lbnQsXG4gICAgdHVpSXNIVE1MRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLCB0dWlHZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlGb2N1c1RyYXBdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYkluZGV4OiAnMCcsXG4gICAgICAgICcod2luZG93OmZvY3VzaW4uem9uZWxlc3MpJzogJ2luaXRpYWxpemVkICYmIG9uRm9jdXNJbigkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRm9jdXNUcmFwIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIGFjdGl2ZUVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhpcyB3b3VsZCBjYXVzZSBjdXJyZW50bHkgZm9jdXNlZCBlbGVtZW50IHRvIGxvc2UgZm9jdXMsXG4gICAgICAgICAqIGJ1dCBpdCBtaWdodCBjYXVzZSBFeHByZXNzaW9uQ2hhbmdlZCBlcnJvciBkdWUgdG8gcG90ZW50aWFsIEhvc3RCaW5kaW5nLlxuICAgICAgICAgKiBNaWNyb3Rhc2sga2VlcHMgaXQgaW4gdGhlIHNhbWUgZnJhbWUgYnV0IGFsbG93cyBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHJ1blxuICAgICAgICAgKi9cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBzYW1lIGV2ZW50IGNhbiBzeW5jaHJvbm91c2x5IGNsb3NlIGFscmVhZHkgb3BlbmVkIGZvY3VzIHRyYXAgYW5kIG9wZW4gYW5vdGhlciBvbmUuXG4gICAgICAgICAgICAgKiBBbGwgZm9jdXMgdHJhcHMgaGF2ZSBtaWNyb3Rhc2sgaW5zaWRlIGl0cyBgbmdPbkRlc3Ryb3lgIOKAk1xuICAgICAgICAgICAgICogdGhleSBzaG91bGQgYmUgcmVzb2x2ZWQgYmVmb3JlIGVuYWJsaW5nIG9mIG5ldyBmb2N1cyB0cmFwLlxuICAgICAgICAgICAgICogRG9uJ3QgZW5hYmxlIGFueSBuZXcgZXZlbnQgbGlzdGVuZXJzIGJlZm9yZSBgaW5pdGlhbGl6ZWRgIGVxdWFscyB0byBgdHJ1ZWAhXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVFbGVtZW50ID0gdHVpR2V0TmF0aXZlRm9jdXNlZCh0aGlzLmRvYyk7XG4gICAgICAgICAgICB0aGlzLmVsLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0dWlJc0hUTUxFbGVtZW50KHRoaXMuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbihub2RlOiBOb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtmaXJzdEVsZW1lbnRDaGlsZH0gPSB0aGlzLmVsO1xuXG4gICAgICAgIGlmICghdHVpQ29udGFpbnNPckFmdGVyKHRoaXMuZWwsIG5vZGUpICYmIGZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtcbiAgICAgICAgICAgICAgICBpbml0aWFsOiBmaXJzdEVsZW1lbnRDaGlsZCxcbiAgICAgICAgICAgICAgICByb290OiB0aGlzLmVsLFxuICAgICAgICAgICAgfSk/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,8 @@
1
1
  import { Directive, inject, Input, ViewContainerRef, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated use modern control flow (`@for`) syntax instead
5
+ */
3
6
  class TuiFor {
4
7
  constructor() {
5
8
  this.vcr = inject(ViewContainerRef);
@@ -31,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
34
  }], ngForEmpty: [{
32
35
  type: Input
33
36
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2Zvci9mb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BSWEsTUFBTTtJQUpuQjtRQUtxQixRQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFLekMsWUFBTyxHQUE4QixFQUFFLENBQUM7S0FpQmxEO0lBVFUsV0FBVztRQUNkLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzsrR0F0QlEsTUFBTTttR0FBTixNQUFNOztTQUFOLE1BQU07NEZBQU4sTUFBTTtrQkFKbEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDBEQUEwRDtpQkFDdkU7OEJBT1UsT0FBTztzQkFEYixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgdHlwZSBFbWJlZGRlZFZpZXdSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbbmdGb3JdW25nRm9yT2ZdW25nRm9yRWxzZV0sW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVtcHR5XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZvcjxULCBLID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgcHJpdmF0ZSByZWY/OiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuZ0Zvck9mOiBUW10gfCByZWFkb25seSBUW10gfCBudWxsID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuZ0ZvckVsc2U/OiBUZW1wbGF0ZVJlZjxLPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5nRm9yRW1wdHk/OiBUZW1wbGF0ZVJlZjxLPjtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWY/LmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0Zvck9mPy5sZW5ndGggPT09IDAgJiYgdGhpcy5uZ0ZvckVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRW1wdHkpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLm5nRm9yT2YgJiYgdGhpcy5uZ0ZvckVsc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMubmdGb3JFbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2Zvci9mb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBQ0gsTUFJYSxNQUFNO0lBSm5CO1FBS3FCLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUt6QyxZQUFPLEdBQThCLEVBQUUsQ0FBQztLQWlCbEQ7SUFUVSxXQUFXO1FBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQy9DLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDM0Q7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOytHQXRCUSxNQUFNO21HQUFOLE1BQU07O1NBQU4sTUFBTTs0RkFBTixNQUFNO2tCQUpsQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMERBQTBEO2lCQUN2RTs4QkFPVSxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICB0eXBlIEVtYmVkZGVkVmlld1JlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkNoYW5nZXMsXG4gICAgdHlwZSBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbW9kZXJuIGNvbnRyb2wgZmxvdyAoYEBmb3JgKSBzeW50YXggaW5zdGVhZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVsc2VdLFtuZ0Zvcl1bbmdGb3JPZl1bbmdGb3JFbXB0eV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb3I8VCwgSyA9IHVua25vd24+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIHByaXZhdGUgcmVmPzogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmdGb3JPZjogVFtdIHwgcmVhZG9ubHkgVFtdIHwgbnVsbCA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmdGb3JFbHNlPzogVGVtcGxhdGVSZWY8Sz47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuZ0ZvckVtcHR5PzogVGVtcGxhdGVSZWY8Sz47XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmPy5kZXN0cm95KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdGb3JPZj8ubGVuZ3RoID09PSAwICYmIHRoaXMubmdGb3JFbXB0eSkge1xuICAgICAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ0ZvckVtcHR5KTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5uZ0Zvck9mICYmIHRoaXMubmdGb3JFbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -2,8 +2,7 @@ import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angula
2
2
  import { TuiLetContext } from './let-context';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
- * Works like *ngIf but does not have a condition — use it to declare
6
- * the result of pipes calculation (i.e. async pipe)
5
+ * @deprecated use @let instead
7
6
  */
8
7
  class TuiLet {
9
8
  constructor() {
@@ -31,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
30
  }], ctorParameters: function () { return []; }, propDecorators: { tuiLet: [{
32
31
  type: Input
33
32
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2xldC9sZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFNUM7OztHQUdHO0FBQ0gsTUFJYSxNQUFNO0lBSWY7UUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxrQkFBa0IsQ0FDdkMsTUFBTSxDQUFDLENBQUEsV0FBNkIsQ0FBQSxDQUFDLEVBQ3JDLElBQUksYUFBYSxDQUFJLElBQUksQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUNoQyxJQUFlLEVBQ2YsSUFBYTtRQUViLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7K0dBdEJRLE1BQU07bUdBQU4sTUFBTTs7U0FBTixNQUFNOzRGQUFOLE1BQU07a0JBSmxCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2lCQUN2QjswRUFHVSxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUxldENvbnRleHR9IGZyb20gJy4vbGV0LWNvbnRleHQnO1xuXG4vKipcbiAqIFdvcmtzIGxpa2UgKm5nSWYgYnV0IGRvZXMgbm90IGhhdmUgYSBjb25kaXRpb24g4oCUIHVzZSBpdCB0byBkZWNsYXJlXG4gKiB0aGUgcmVzdWx0IG9mIHBpcGVzIGNhbGN1bGF0aW9uIChpLmUuIGFzeW5jIHBpcGUpXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpTGV0XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxldDxUPiB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpTGV0ITogVDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoVmlld0NvbnRhaW5lclJlZikuY3JlYXRlRW1iZWRkZWRWaWV3KFxuICAgICAgICAgICAgaW5qZWN0KFRlbXBsYXRlUmVmPFR1aUxldENvbnRleHQ8VD4+KSxcbiAgICAgICAgICAgIG5ldyBUdWlMZXRDb250ZXh0PFQ+KHRoaXMpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2VydHMgdGhlIGNvcnJlY3QgdHlwZSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIHRlbXBsYXRlIHRoYXQgYFR1aUxldGAgd2lsbCByZW5kZXIuXG4gICAgICpcbiAgICAgKiBUaGUgcHJlc2VuY2Ugb2YgdGhpcyBtZXRob2QgaXMgYSBzaWduYWwgdG8gdGhlIEl2eSB0ZW1wbGF0ZSB0eXBlLWNoZWNrIGNvbXBpbGVyIHRoYXQgdGhlXG4gICAgICogYFR1aUxldGAgc3RydWN0dXJhbCBkaXJlY3RpdmUgcmVuZGVycyBpdHMgdGVtcGxhdGUgd2l0aCBhIHNwZWNpZmljIGNvbnRleHQgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8VD4oXG4gICAgICAgIF9kaXI6IFR1aUxldDxUPixcbiAgICAgICAgX2N0eDogdW5rbm93bixcbiAgICApOiBfY3R4IGlzIFR1aUxldENvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2xldC9sZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFNUM7O0dBRUc7QUFDSCxNQUlhLE1BQU07SUFJZjtRQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGtCQUFrQixDQUN2QyxNQUFNLENBQUMsQ0FBQSxXQUE2QixDQUFBLENBQUMsRUFDckMsSUFBSSxhQUFhLENBQUksSUFBSSxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsc0JBQXNCLENBQ2hDLElBQWUsRUFDZixJQUFhO1FBRWIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0F0QlEsTUFBTTttR0FBTixNQUFNOztTQUFOLE1BQU07NEZBQU4sTUFBTTtrQkFKbEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFVBQVU7aUJBQ3ZCOzBFQUdVLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHVpTGV0Q29udGV4dH0gZnJvbSAnLi9sZXQtY29udGV4dCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIEBsZXQgaW5zdGVhZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUxldF0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMZXQ8VD4ge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aUxldCE6IFQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaW5qZWN0KFZpZXdDb250YWluZXJSZWYpLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgICAgICAgIGluamVjdChUZW1wbGF0ZVJlZjxUdWlMZXRDb250ZXh0PFQ+PiksXG4gICAgICAgICAgICBuZXcgVHVpTGV0Q29udGV4dDxUPih0aGlzKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NlcnRzIHRoZSBjb3JyZWN0IHR5cGUgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSB0ZW1wbGF0ZSB0aGF0IGBUdWlMZXRgIHdpbGwgcmVuZGVyLlxuICAgICAqXG4gICAgICogVGhlIHByZXNlbmNlIG9mIHRoaXMgbWV0aG9kIGlzIGEgc2lnbmFsIHRvIHRoZSBJdnkgdGVtcGxhdGUgdHlwZS1jaGVjayBjb21waWxlciB0aGF0IHRoZVxuICAgICAqIGBUdWlMZXRgIHN0cnVjdHVyYWwgZGlyZWN0aXZlIHJlbmRlcnMgaXRzIHRlbXBsYXRlIHdpdGggYSBzcGVjaWZpYyBjb250ZXh0IHR5cGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KFxuICAgICAgICBfZGlyOiBUdWlMZXQ8VD4sXG4gICAgICAgIF9jdHg6IHVua25vd24sXG4gICAgKTogX2N0eCBpcyBUdWlMZXRDb250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
@@ -11,7 +11,9 @@ class TuiObscured {
11
11
  constructor() {
12
12
  this.activeZone = inject(TuiActiveZone, { optional: true });
13
13
  this.enabled$ = new BehaviorSubject(false);
14
- this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(map((by) => !!by?.every((el) => !this.activeZone?.contains(el))));
14
+ this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(
15
+ // TODO: Refactor so that dropdowns and dialogs work properly without hacks
16
+ map((by) => !!by?.every((el) => el.closest('tui-dialogs') || !this.activeZone?.contains(el))));
15
17
  this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));
16
18
  }
17
19
  set tuiObscuredEnabled(enabled) {
@@ -33,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
35
  }], tuiObscuredEnabled: [{
34
36
  type: Input
35
37
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzY3VyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQvb2JzY3VyZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFDSCxNQUthLFdBQVc7SUFMeEI7UUFNcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ25FLENBQUM7UUFHYyxnQkFBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQU1wRjtJQUpHLElBQ1csa0JBQWtCLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FiUSxXQUFXO21HQUFYLFdBQVcsMkpBRlQsQ0FBQyxrQkFBa0IsQ0FBQzs7U0FFdEIsV0FBVzs0RkFBWCxXQUFXO2tCQUx2QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2xDOzhCQVNtQixXQUFXO3NCQUQxQixNQUFNO2dCQUlJLGtCQUFrQjtzQkFENUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHt0dWlJZk1hcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlPYnNjdXJlZFNlcnZpY2V9IGZyb20gJy4vb2JzY3VyZWQuc2VydmljZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgbW9uaXRvcnMgZWxlbWVudCB2aXNpYmlsaXR5XG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpT2JzY3VyZWRdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlPYnNjdXJlZFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlPYnNjdXJlZCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5hYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2N1cmVkJCA9IGluamVjdChUdWlPYnNjdXJlZFNlcnZpY2UsIHtzZWxmOiB0cnVlfSkucGlwZShcbiAgICAgICAgbWFwKChieSkgPT4gISFieT8uZXZlcnkoKGVsKSA9PiAhdGhpcy5hY3RpdmVab25lPy5jb250YWlucyhlbCkpKSxcbiAgICApO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aU9ic2N1cmVkID0gdGhpcy5lbmFibGVkJC5waXBlKHR1aUlmTWFwKCgpID0+IHRoaXMub2JzY3VyZWQkKSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpT2JzY3VyZWRFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbmFibGVkJC5uZXh0KGVuYWJsZWQpO1xuICAgIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzY3VyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQvb2JzY3VyZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFDSCxNQUthLFdBQVc7SUFMeEI7UUFNcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUk7UUFDdEUsMkVBQTJFO1FBQzNFLEdBQUcsQ0FDQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQ1AsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDdEUsQ0FDUixDQUNKLENBQUM7UUFHYyxnQkFBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQU1wRjtJQUpHLElBQ1csa0JBQWtCLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FuQlEsV0FBVzttR0FBWCxXQUFXLDJKQUZULENBQUMsa0JBQWtCLENBQUM7O1NBRXRCLFdBQVc7NEZBQVgsV0FBVztrQkFMdkIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNsQzs4QkFlbUIsV0FBVztzQkFEMUIsTUFBTTtnQkFJSSxrQkFBa0I7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7dHVpSWZNYXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpT2JzY3VyZWRTZXJ2aWNlfSBmcm9tICcuL29ic2N1cmVkLnNlcnZpY2UnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IG1vbml0b3JzIGVsZW1lbnQgdmlzaWJpbGl0eVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aU9ic2N1cmVkXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpT2JzY3VyZWRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT2JzY3VyZWQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNjdXJlZCQgPSBpbmplY3QoVHVpT2JzY3VyZWRTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pLnBpcGUoXG4gICAgICAgIC8vIFRPRE86IFJlZmFjdG9yIHNvIHRoYXQgZHJvcGRvd25zIGFuZCBkaWFsb2dzIHdvcmsgcHJvcGVybHkgd2l0aG91dCBoYWNrc1xuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoYnkpID0+XG4gICAgICAgICAgICAgICAgISFieT8uZXZlcnkoXG4gICAgICAgICAgICAgICAgICAgIChlbCkgPT4gZWwuY2xvc2VzdCgndHVpLWRpYWxvZ3MnKSB8fCAhdGhpcy5hY3RpdmVab25lPy5jb250YWlucyhlbCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aU9ic2N1cmVkID0gdGhpcy5lbmFibGVkJC5waXBlKHR1aUlmTWFwKCgpID0+IHRoaXMub2JzY3VyZWQkKSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpT2JzY3VyZWRFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbmFibGVkJC5uZXh0KGVuYWJsZWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -215,7 +215,7 @@ const TUI_USED_ICONS = [
215
215
  '@tui.move-up',
216
216
  ];
217
217
 
218
- const TUI_VERSION = '4.53.0';
218
+ const TUI_VERSION = '4.55.0';
219
219
 
220
220
  /**
221
221
  * 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, 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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type 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.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.53.0';\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, 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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type 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.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.55.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ class TuiActiveZone {
15
15
  this.zone = inject(NgZone);
16
16
  this.el = tuiInjectElement();
17
17
  this.tuiActiveZoneParent = null;
18
- this.subActiveZones = [];
19
18
  this.directParentActiveZone = inject(TuiActiveZone, {
20
19
  skipSelf: true,
21
20
  optional: true,
@@ -25,6 +24,7 @@ class TuiActiveZone {
25
24
  this.control.valueAccessor.onTouched();
26
25
  }
27
26
  }), tuiZoneOptimized(this.zone), share());
27
+ this.children = [];
28
28
  this.directParentActiveZone?.addSubActiveZone(this);
29
29
  }
30
30
  set tuiActiveZoneParentSetter(zone) {
@@ -35,8 +35,7 @@ class TuiActiveZone {
35
35
  this.tuiActiveZoneParent?.removeSubActiveZone(this);
36
36
  }
37
37
  contains(node) {
38
- return (this.el.contains(node) ||
39
- this.subActiveZones.some((item, index, array) => array.indexOf(item) === index && item.contains(node)));
38
+ return (this.el.contains(node) || this.children.some((item) => item.contains(node)));
40
39
  }
41
40
  setZone(zone) {
42
41
  this.tuiActiveZoneParent?.removeSubActiveZone(this);
@@ -44,10 +43,10 @@ class TuiActiveZone {
44
43
  this.tuiActiveZoneParent = zone;
45
44
  }
46
45
  addSubActiveZone(activeZone) {
47
- this.subActiveZones = [...this.subActiveZones, activeZone];
46
+ this.children = [...this.children, activeZone];
48
47
  }
49
48
  removeSubActiveZone(activeZone) {
50
- this.subActiveZones = tuiArrayRemove(this.subActiveZones, this.subActiveZones.indexOf(activeZone));
49
+ this.children = tuiArrayRemove(this.children, this.children.indexOf(activeZone));
51
50
  }
52
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiActiveZone, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
52
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiActiveZone, isStandalone: true, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: { tuiActiveZoneParentSetter: ["tuiActiveZoneParent", "tuiActiveZoneParentSetter"] }, outputs: { tuiActiveZoneChange: "tuiActiveZoneChange" }, host: { listeners: { "document:mousedown.zoneless": "(0)" } }, exportAs: ["tuiActiveZone"], ngImport: i0 }); }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-active-zone.mjs","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {Directive, inject, Input, NgZone, type OnDestroy, Output} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove, tuiInjectElement, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n distinctUntilChanged,\n map,\n type Observable,\n share,\n skip,\n startWith,\n tap,\n} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n host: {\n '(document:mousedown.zoneless)': '(0)',\n },\n})\nexport class TuiActiveZone implements OnDestroy {\n // TODO: Should we remove in v5? It's no longer used in Taiga UI\n private readonly control: any = inject(NgControl, {self: true, optional: true});\n private readonly active$ = inject<Observable<Element | null>>(TUI_ACTIVE_ELEMENT);\n private readonly zone = inject(NgZone);\n private readonly el = tuiInjectElement();\n private tuiActiveZoneParent: TuiActiveZone | null = null;\n private subActiveZones: readonly TuiActiveZone[] = [];\n private readonly directParentActiveZone = inject(TuiActiveZone, {\n skipSelf: true,\n optional: true,\n });\n\n @Output()\n public readonly tuiActiveZoneChange = this.active$.pipe(\n map((element) => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tap((active) => {\n if (!active && typeof this.control?.valueAccessor.onTouched === 'function') {\n this.control.valueAccessor.onTouched();\n }\n }),\n tuiZoneOptimized(this.zone),\n share(),\n );\n\n constructor() {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n @Input('tuiActiveZoneParent')\n public set tuiActiveZoneParentSetter(zone: TuiActiveZone | null) {\n this.setZone(zone);\n }\n\n public ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n public contains(node: Node): boolean {\n return (\n this.el.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZone | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZone): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAeA,MASa,aAAa,CAAA;AA4BtB,IAAA,WAAA,GAAA;;AA1BiB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAM,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA6B,kBAAkB,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAmB,CAAA,mBAAA,GAAyB,IAAI,CAAC;QACjD,IAAc,CAAA,cAAA,GAA6B,EAAE,CAAC;AACrC,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,aAAa,EAAE;AAC5D,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;QAGa,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACnD,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACrD,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,MAAM,KAAI;AACX,YAAA,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,KAAK,UAAU,EAAE;AACxE,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AAC1C,aAAA;AACL,SAAC,CAAC,EACF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3B,KAAK,EAAE,CACV,CAAC;AAGE,QAAA,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;KACvD;IAED,IACW,yBAAyB,CAAC,IAA0B,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;KACvD;AAEM,IAAA,QAAQ,CAAC,IAAU,EAAA;QACtB,QACI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3D,EACH;KACL;AAGO,IAAA,OAAO,CAAC,IAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACpD,QAAA,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACnC;AAEO,IAAA,gBAAgB,CAAC,UAAyB,EAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KAC9D;AAEO,IAAA,mBAAmB,CAAC,UAAyB,EAAA;AACjD,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAChC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAC1C,CAAC;KACL;+GApEQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,CAAA,qBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,6BAAA,EAAA,KAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAqDd,UAAA,CAAA;IADP,OAAO;AAKP,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;4FAzDQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EACJ,qHAAqH;AACzH,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,+BAA+B,EAAE,KAAK;AACzC,qBAAA;AACJ,iBAAA,CAAA;0EAemB,mBAAmB,EAAA,CAAA;sBADlC,MAAM;gBAoBI,yBAAyB,EAAA,CAAA;sBADnC,KAAK;uBAAC,qBAAqB,CAAA;gBAqBpB,OAAO,EAAA,EAAA,EAAA,EAAA,CAAA;;AC7EnB;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-active-zone.mjs","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {Directive, inject, Input, NgZone, type OnDestroy, Output} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove, tuiInjectElement, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n distinctUntilChanged,\n map,\n type Observable,\n share,\n skip,\n startWith,\n tap,\n} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n host: {\n '(document:mousedown.zoneless)': '(0)',\n },\n})\nexport class TuiActiveZone implements OnDestroy {\n // TODO: Should we remove in v5? It's no longer used in Taiga UI\n private readonly control: any = inject(NgControl, {self: true, optional: true});\n private readonly active$ = inject<Observable<Element | null>>(TUI_ACTIVE_ELEMENT);\n private readonly zone = inject(NgZone);\n private readonly el = tuiInjectElement();\n private tuiActiveZoneParent: TuiActiveZone | null = null;\n private readonly directParentActiveZone = inject(TuiActiveZone, {\n skipSelf: true,\n optional: true,\n });\n\n @Output()\n public readonly tuiActiveZoneChange = this.active$.pipe(\n map((element) => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tap((active) => {\n if (!active && typeof this.control?.valueAccessor.onTouched === 'function') {\n this.control.valueAccessor.onTouched();\n }\n }),\n tuiZoneOptimized(this.zone),\n share(),\n );\n\n public children: readonly TuiActiveZone[] = [];\n\n constructor() {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n @Input('tuiActiveZoneParent')\n public set tuiActiveZoneParentSetter(zone: TuiActiveZone | null) {\n this.setZone(zone);\n }\n\n public ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n public contains(node: Node): boolean {\n return (\n this.el.contains(node) || this.children.some((item) => item.contains(node))\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZone | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZone): void {\n this.children = [...this.children, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZone): void {\n this.children = tuiArrayRemove(this.children, this.children.indexOf(activeZone));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAeA,MASa,aAAa,CAAA;AA6BtB,IAAA,WAAA,GAAA;;AA3BiB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAM,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA6B,kBAAkB,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAmB,CAAA,mBAAA,GAAyB,IAAI,CAAC;AACxC,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,aAAa,EAAE;AAC5D,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;QAGa,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACnD,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACrD,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,MAAM,KAAI;AACX,YAAA,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,KAAK,UAAU,EAAE;AACxE,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AAC1C,aAAA;AACL,SAAC,CAAC,EACF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3B,KAAK,EAAE,CACV,CAAC;QAEK,IAAQ,CAAA,QAAA,GAA6B,EAAE,CAAC;AAG3C,QAAA,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;KACvD;IAED,IACW,yBAAyB,CAAC,IAA0B,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;KACvD;AAEM,IAAA,QAAQ,CAAC,IAAU,EAAA;AACtB,QAAA,QACI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC7E;KACL;AAGO,IAAA,OAAO,CAAC,IAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACpD,QAAA,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACnC;AAEO,IAAA,gBAAgB,CAAC,UAAyB,EAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KAClD;AAEO,IAAA,mBAAmB,CAAC,UAAyB,EAAA;AACjD,QAAA,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;KACpF;+GA9DQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,CAAA,qBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,6BAAA,EAAA,KAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAkDd,UAAA,CAAA;IADP,OAAO;AAKP,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;4FAtDQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EACJ,qHAAqH;AACzH,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,+BAA+B,EAAE,KAAK;AACzC,qBAAA;AACJ,iBAAA,CAAA;0EAcmB,mBAAmB,EAAA,CAAA;sBADlC,MAAM;gBAsBI,yBAAyB,EAAA,CAAA;sBADnC,KAAK;uBAAC,qBAAqB,CAAA;gBAiBpB,OAAO,EAAA,EAAA,EAAA,EAAA,CAAA;;AC1EnB;;AAEG;;;;"}
@@ -1,5 +1,6 @@
1
+ import { isPlatformServer } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { inject, ViewContainerRef, ApplicationRef, afterNextRender, Directive, Renderer2 } from '@angular/core';
3
+ import { inject, ViewContainerRef, afterNextRender, PLATFORM_ID, Directive, ApplicationRef, Renderer2 } from '@angular/core';
3
4
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
5
  import * as i2 from '@ng-web-apis/mutation-observer';
5
6
  import { provideMutationObserverInit, WaMutationObserver } from '@ng-web-apis/mutation-observer';
@@ -11,53 +12,24 @@ class TuiAnimated {
11
12
  // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56
12
13
  this.renderer = inject(ViewContainerRef)._hostLView?.[11];
13
14
  this.el = tuiInjectElement();
14
- this.app = inject(ApplicationRef);
15
15
  afterNextRender(() => this.remove());
16
- if (!this.renderer) {
16
+ if (!this.renderer || isPlatformServer(inject(PLATFORM_ID))) {
17
17
  return;
18
18
  }
19
19
  // delegate is used in Angular Animations renderer
20
20
  const renderer = this.renderer.delegate || this.renderer;
21
- const { removeChild, data } = renderer;
22
- if (data[TUI_LEAVE]) {
23
- data[TUI_LEAVE].push(this.el);
24
- return;
21
+ if (renderer.data[TUI_LEAVE]) {
22
+ renderer.data[TUI_LEAVE].push(this.el);
23
+ }
24
+ else {
25
+ renderer.data[TUI_LEAVE] = [this.el];
26
+ renderer.removeChild = wrap(renderer);
25
27
  }
26
- data[TUI_LEAVE] = [this.el];
27
- afterNextRender(() => {
28
- renderer.removeChild = (parent, el, host) => {
29
- const remove = () => removeChild.call(renderer, parent, el, host);
30
- const elements = data[TUI_LEAVE];
31
- const element = elements.find((leave) => el.contains(leave));
32
- if (!element) {
33
- remove();
34
- return;
35
- }
36
- element.classList.remove(TUI_ENTER);
37
- const { length } = element.getAnimations?.() || [];
38
- element.classList.add(TUI_LEAVE);
39
- const animations = element.getAnimations?.() ?? [];
40
- const last = animations[animations.length - 1];
41
- const finish = () => {
42
- if (!parent || parent.contains(el)) {
43
- remove();
44
- this.app.tick();
45
- }
46
- };
47
- if (animations.length > length && last) {
48
- last.onfinish = finish;
49
- last.oncancel = finish;
50
- }
51
- else {
52
- remove();
53
- }
54
- };
55
- });
56
28
  }
57
29
  ngOnDestroy() {
58
30
  const data = this.renderer?.data || { [TUI_LEAVE]: [] };
59
31
  setTimeout(() => {
60
- data[TUI_LEAVE] = data[TUI_LEAVE].filter((e) => e !== this.el);
32
+ data[TUI_LEAVE] = data[TUI_LEAVE]?.filter((e) => e !== this.el);
61
33
  });
62
34
  }
63
35
  remove() {
@@ -80,6 +52,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
80
52
  },
81
53
  }]
82
54
  }], ctorParameters: function () { return []; } });
55
+ function wrap(renderer) {
56
+ const { removeChild } = renderer;
57
+ const app = inject(ApplicationRef);
58
+ return (parent, el, host) => {
59
+ const remove = () => removeChild.call(renderer, parent, el, host);
60
+ const elements = renderer.data[TUI_LEAVE];
61
+ const element = elements.find((leave) => el.contains(leave));
62
+ if (!element) {
63
+ remove();
64
+ return;
65
+ }
66
+ element.classList.remove(TUI_ENTER);
67
+ const { length } = element.getAnimations?.() || [];
68
+ element.classList.add(TUI_LEAVE);
69
+ const animations = element.getAnimations?.() ?? [];
70
+ const last = animations[animations.length - 1];
71
+ const finish = () => {
72
+ if (!parent || parent.contains(el)) {
73
+ remove();
74
+ app.tick();
75
+ }
76
+ };
77
+ if (animations.length > length && last) {
78
+ last.onfinish = finish;
79
+ last.oncancel = finish;
80
+ }
81
+ else {
82
+ remove();
83
+ }
84
+ };
85
+ }
83
86
 
84
87
  class TuiAnimatedParent {
85
88
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-animated.mjs","sources":["../../../projects/cdk/directives/animated/animated.directive.ts","../../../projects/cdk/directives/animated/animated-parent.directive.ts","../../../projects/cdk/directives/animated/taiga-ui-cdk-directives-animated.ts"],"sourcesContent":["import {\n afterNextRender,\n ApplicationRef,\n Directive,\n inject,\n type OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nexport const TUI_ENTER = 'tui-enter';\nexport const TUI_LEAVE = 'tui-leave';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimated]',\n host: {\n class: TUI_ENTER,\n '(animationend.self)': 'remove()',\n '(animationcancel.self)': 'remove()',\n },\n})\nexport class TuiAnimated implements OnDestroy {\n // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56\n private readonly renderer = inject(ViewContainerRef)._hostLView?.[11];\n private readonly el = tuiInjectElement();\n private readonly app = inject(ApplicationRef);\n\n constructor() {\n afterNextRender(() => this.remove());\n\n if (!this.renderer) {\n return;\n }\n\n // delegate is used in Angular Animations renderer\n const renderer = this.renderer.delegate || this.renderer;\n const {removeChild, data} = renderer;\n\n if (data[TUI_LEAVE]) {\n data[TUI_LEAVE].push(this.el);\n\n return;\n }\n\n data[TUI_LEAVE] = [this.el];\n\n afterNextRender(() => {\n renderer.removeChild = (parent: Node, el: Node, host?: boolean) => {\n const remove = (): void => removeChild.call(renderer, parent, el, host);\n const elements: Element[] = data[TUI_LEAVE];\n const element = elements.find((leave) => el.contains(leave));\n\n if (!element) {\n remove();\n\n return;\n }\n\n element.classList.remove(TUI_ENTER);\n\n const {length} = element.getAnimations?.() || [];\n\n element.classList.add(TUI_LEAVE);\n\n const animations = element.getAnimations?.() ?? [];\n const last = animations[animations.length - 1];\n const finish = (): void => {\n if (!parent || parent.contains(el)) {\n remove();\n this.app.tick();\n }\n };\n\n if (animations.length > length && last) {\n last.onfinish = finish;\n last.oncancel = finish;\n } else {\n remove();\n }\n };\n });\n }\n\n public ngOnDestroy(): void {\n const data = this.renderer?.data || {[TUI_LEAVE]: []};\n\n setTimeout(() => {\n data[TUI_LEAVE] = data[TUI_LEAVE].filter((e: Element) => e !== this.el);\n });\n }\n\n protected remove(): void {\n if (this.el.isConnected && !this.el.getAnimations?.().length) {\n this.el.classList.remove(TUI_ENTER);\n }\n }\n}\n","import {Directive, inject, Renderer2} from '@angular/core';\nimport {\n provideMutationObserverInit,\n WaMutationObserver,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_ENTER, TUI_LEAVE, TuiAnimated} from './animated.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimatedParent]',\n providers: [provideMutationObserverInit({childList: true})],\n hostDirectives: [\n TuiAnimated,\n {\n directive: WaMutationObserver,\n outputs: ['waMutationObserver'],\n },\n ],\n host: {\n '(waMutationObserver)': 'handle()',\n },\n})\nexport class TuiAnimatedParent {\n private readonly el = tuiInjectElement();\n private readonly renderer = inject(Renderer2);\n\n protected handle(): void {\n this.el.classList.remove(TUI_ENTER);\n this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAnimated"],"mappings":";;;;;;AAUO,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,SAAS,GAAG,YAAY;AAErC,MASa,WAAW,CAAA;AAMpB,IAAA,WAAA,GAAA;;QAJiB,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACrD,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAG1C,eAAe,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;AACV,SAAA;;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;AACzD,QAAA,MAAM,EAAC,WAAW,EAAE,IAAI,EAAC,GAAG,QAAQ,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,OAAO;AACV,SAAA;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5B,eAAe,CAAC,MAAK;YACjB,QAAQ,CAAC,WAAW,GAAG,CAAC,MAAY,EAAE,EAAQ,EAAE,IAAc,KAAI;AAC9D,gBAAA,MAAM,MAAM,GAAG,MAAY,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACxE,gBAAA,MAAM,QAAQ,GAAc,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5C,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE7D,IAAI,CAAC,OAAO,EAAE;AACV,oBAAA,MAAM,EAAE,CAAC;oBAET,OAAO;AACV,iBAAA;AAED,gBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEpC,MAAM,EAAC,MAAM,EAAC,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;AAEjD,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEjC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAW;oBACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAChC,wBAAA,MAAM,EAAE,CAAC;AACT,wBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACnB,qBAAA;AACL,iBAAC,CAAC;AAEF,gBAAA,IAAI,UAAU,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,EAAE;AACpC,oBAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;AACvB,oBAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;AAC1B,iBAAA;AAAM,qBAAA;AACH,oBAAA,MAAM,EAAE,CAAC;AACZ,iBAAA;AACL,aAAC,CAAC;AACN,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AACd,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAC,CAAC,SAAS,GAAG,EAAE,EAAC,CAAC;QAEtD,UAAU,CAAC,MAAK;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAU,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;KACN;IAES,MAAM,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE;YAC1D,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvC,SAAA;KACJ;+GA1EQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBATvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,wBAAwB,EAAE,UAAU;AACvC,qBAAA;AACJ,iBAAA,CAAA;;;ACZD,MAea,iBAAiB,CAAA;AAf9B,IAAA,WAAA,GAAA;QAgBqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAMjD,KAAA;IAJa,MAAM,GAAA;QACZ,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;KAChE;+GAPQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAZf,CAAC,2BAA2B,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAYlD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,2BAA2B,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;AAC3D,oBAAA,cAAc,EAAE;wBACZ,WAAW;AACX,wBAAA;AACI,4BAAA,SAAS,EAAE,kBAAkB;4BAC7B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAClC,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,sBAAsB,EAAE,UAAU;AACrC,qBAAA;AACJ,iBAAA,CAAA;;;ACvBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-animated.mjs","sources":["../../../projects/cdk/directives/animated/animated.directive.ts","../../../projects/cdk/directives/animated/animated-parent.directive.ts","../../../projects/cdk/directives/animated/taiga-ui-cdk-directives-animated.ts"],"sourcesContent":["import {isPlatformServer} from '@angular/common';\nimport {\n afterNextRender,\n ApplicationRef,\n Directive,\n inject,\n type OnDestroy,\n PLATFORM_ID,\n type Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nexport const TUI_ENTER = 'tui-enter';\nexport const TUI_LEAVE = 'tui-leave';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimated]',\n host: {\n class: TUI_ENTER,\n '(animationend.self)': 'remove()',\n '(animationcancel.self)': 'remove()',\n },\n})\nexport class TuiAnimated implements OnDestroy {\n // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56\n private readonly renderer = inject(ViewContainerRef)._hostLView?.[11];\n private readonly el = tuiInjectElement();\n\n constructor() {\n afterNextRender(() => this.remove());\n\n if (!this.renderer || isPlatformServer(inject(PLATFORM_ID))) {\n return;\n }\n\n // delegate is used in Angular Animations renderer\n const renderer = this.renderer.delegate || this.renderer;\n\n if (renderer.data[TUI_LEAVE]) {\n renderer.data[TUI_LEAVE].push(this.el);\n } else {\n renderer.data[TUI_LEAVE] = [this.el];\n renderer.removeChild = wrap(renderer);\n }\n }\n\n public ngOnDestroy(): void {\n const data = this.renderer?.data || {[TUI_LEAVE]: []};\n\n setTimeout(() => {\n data[TUI_LEAVE] = data[TUI_LEAVE]?.filter((e: Element) => e !== this.el);\n });\n }\n\n protected remove(): void {\n if (this.el.isConnected && !this.el.getAnimations?.().length) {\n this.el.classList.remove(TUI_ENTER);\n }\n }\n}\n\nfunction wrap(renderer: Renderer2): any {\n const {removeChild} = renderer;\n const app = inject(ApplicationRef);\n\n return (parent: Node, el: Node, host?: boolean) => {\n const remove = (): void => removeChild.call(renderer, parent, el, host);\n const elements: Element[] = renderer.data[TUI_LEAVE];\n const element = elements.find((leave) => el.contains(leave));\n\n if (!element) {\n remove();\n\n return;\n }\n\n element.classList.remove(TUI_ENTER);\n\n const {length} = element.getAnimations?.() || [];\n\n element.classList.add(TUI_LEAVE);\n\n const animations = element.getAnimations?.() ?? [];\n const last = animations[animations.length - 1];\n const finish = (): void => {\n if (!parent || parent.contains(el)) {\n remove();\n app.tick();\n }\n };\n\n if (animations.length > length && last) {\n last.onfinish = finish;\n last.oncancel = finish;\n } else {\n remove();\n }\n };\n}\n","import {Directive, inject, Renderer2} from '@angular/core';\nimport {\n provideMutationObserverInit,\n WaMutationObserver,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_ENTER, TUI_LEAVE, TuiAnimated} from './animated.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimatedParent]',\n providers: [provideMutationObserverInit({childList: true})],\n hostDirectives: [\n TuiAnimated,\n {\n directive: WaMutationObserver,\n outputs: ['waMutationObserver'],\n },\n ],\n host: {\n '(waMutationObserver)': 'handle()',\n },\n})\nexport class TuiAnimatedParent {\n private readonly el = tuiInjectElement();\n private readonly renderer = inject(Renderer2);\n\n protected handle(): void {\n this.el.classList.remove(TUI_ENTER);\n this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAnimated"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Directive } from '@angular/core';
4
4
  import { tuiInjectElement, tuiIsHTMLElement, tuiContainsOrAfter } from '@taiga-ui/cdk/utils/dom';
5
- import { tuiGetNativeFocused, tuiBlurNativeFocused, tuiGetClosestFocusable } from '@taiga-ui/cdk/utils/focus';
5
+ import { tuiGetNativeFocused, tuiGetClosestFocusable } from '@taiga-ui/cdk/utils/focus';
6
6
 
7
7
  class TuiFocusTrap {
8
8
  constructor() {
@@ -28,18 +28,10 @@ class TuiFocusTrap {
28
28
  });
29
29
  }
30
30
  ngOnDestroy() {
31
- tuiBlurNativeFocused(this.doc);
32
- /**
33
- * HostListeners are triggered even after ngOnDestroy
34
- * {@link https://github.com/angular/angular/issues/38100}
35
- * so we need to delay it but stay in the same sync cycle,
36
- * therefore using Promise instead of setTimeout
37
- */
38
- Promise.resolve().then(() => {
39
- if (tuiIsHTMLElement(this.activeElement)) {
40
- this.activeElement.focus();
41
- }
42
- });
31
+ this.initialized = false;
32
+ if (tuiIsHTMLElement(this.activeElement)) {
33
+ this.activeElement.focus();
34
+ }
43
35
  }
44
36
  onFocusIn(node) {
45
37
  const { firstElementChild } = this.el;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-focus-trap.mjs","sources":["../../../projects/cdk/directives/focus-trap/focus-trap.directive.ts","../../../projects/cdk/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, type OnDestroy} from '@angular/core';\nimport {\n tuiContainsOrAfter,\n tuiInjectElement,\n tuiIsHTMLElement,\n} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiBlurNativeFocused,\n tuiGetClosestFocusable,\n tuiGetNativeFocused,\n} from '@taiga-ui/cdk/utils/focus';\n\n@Directive({\n standalone: true,\n selector: '[tuiFocusTrap]',\n host: {\n tabIndex: '0',\n '(window:focusin.zoneless)': 'initialized && onFocusIn($event.target)',\n },\n})\nexport class TuiFocusTrap implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private activeElement: Element | null = null;\n protected initialized = false;\n\n constructor() {\n /**\n * This would cause currently focused element to lose focus,\n * but it might cause ExpressionChanged error due to potential HostBinding.\n * Microtask keeps it in the same frame but allows change detection to run\n */\n Promise.resolve().then(() => {\n /**\n * The same event can synchronously close already opened focus trap and open another one.\n * All focus traps have microtask inside its `ngOnDestroy` –\n * they should be resolved before enabling of new focus trap.\n * Don't enable any new event listeners before `initialized` equals to `true`!\n */\n this.initialized = true;\n this.activeElement = tuiGetNativeFocused(this.doc);\n this.el.focus();\n });\n }\n\n public ngOnDestroy(): void {\n tuiBlurNativeFocused(this.doc);\n\n /**\n * HostListeners are triggered even after ngOnDestroy\n * {@link https://github.com/angular/angular/issues/38100}\n * so we need to delay it but stay in the same sync cycle,\n * therefore using Promise instead of setTimeout\n */\n Promise.resolve().then(() => {\n if (tuiIsHTMLElement(this.activeElement)) {\n this.activeElement.focus();\n }\n });\n }\n\n protected onFocusIn(node: Node): void {\n const {firstElementChild} = this.el;\n\n if (!tuiContainsOrAfter(this.el, node) && firstElementChild) {\n tuiGetClosestFocusable({\n initial: firstElementChild,\n root: this.el,\n })?.focus();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAaA,MAQa,YAAY,CAAA;AAMrB,IAAA,WAAA,GAAA;AALiB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAa,CAAA,aAAA,GAAmB,IAAI,CAAC;QACnC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAG1B;;;;AAIG;AACH,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB;;;;;AAKG;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AACd,QAAA,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/B;;;;;AAKG;AACH,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,YAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC9B,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AAES,IAAA,SAAS,CAAC,IAAU,EAAA;AAC1B,QAAA,MAAM,EAAC,iBAAiB,EAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAEpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE;AACzD,YAAA,sBAAsB,CAAC;AACnB,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,IAAI,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC,EAAE,KAAK,EAAE,CAAC;AACf,SAAA;KACJ;+GAlDQ,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,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,GAAG;AACb,wBAAA,2BAA2B,EAAE,yCAAyC;AACzE,qBAAA;AACJ,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-focus-trap.mjs","sources":["../../../projects/cdk/directives/focus-trap/focus-trap.directive.ts","../../../projects/cdk/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, type OnDestroy} from '@angular/core';\nimport {\n tuiContainsOrAfter,\n tuiInjectElement,\n tuiIsHTMLElement,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable, tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\n\n@Directive({\n standalone: true,\n selector: '[tuiFocusTrap]',\n host: {\n tabIndex: '0',\n '(window:focusin.zoneless)': 'initialized && onFocusIn($event.target)',\n },\n})\nexport class TuiFocusTrap implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private activeElement: Element | null = null;\n protected initialized = false;\n\n constructor() {\n /**\n * This would cause currently focused element to lose focus,\n * but it might cause ExpressionChanged error due to potential HostBinding.\n * Microtask keeps it in the same frame but allows change detection to run\n */\n Promise.resolve().then(() => {\n /**\n * The same event can synchronously close already opened focus trap and open another one.\n * All focus traps have microtask inside its `ngOnDestroy` –\n * they should be resolved before enabling of new focus trap.\n * Don't enable any new event listeners before `initialized` equals to `true`!\n */\n this.initialized = true;\n this.activeElement = tuiGetNativeFocused(this.doc);\n this.el.focus();\n });\n }\n\n public ngOnDestroy(): void {\n this.initialized = false;\n\n if (tuiIsHTMLElement(this.activeElement)) {\n this.activeElement.focus();\n }\n }\n\n protected onFocusIn(node: Node): void {\n const {firstElementChild} = this.el;\n\n if (!tuiContainsOrAfter(this.el, node) && firstElementChild) {\n tuiGetClosestFocusable({\n initial: firstElementChild,\n root: this.el,\n })?.focus();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AASA,MAQa,YAAY,CAAA;AAMrB,IAAA,WAAA,GAAA;AALiB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACjC,IAAa,CAAA,aAAA,GAAmB,IAAI,CAAC;QACnC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAG1B;;;;AAIG;AACH,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB;;;;;AAKG;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC9B,SAAA;KACJ;AAES,IAAA,SAAS,CAAC,IAAU,EAAA;AAC1B,QAAA,MAAM,EAAC,iBAAiB,EAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAEpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE;AACzD,YAAA,sBAAsB,CAAC;AACnB,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,IAAI,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC,EAAE,KAAK,EAAE,CAAC;AACf,SAAA;KACJ;+GA1CQ,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,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,GAAG;AACb,wBAAA,2BAA2B,EAAE,yCAAyC;AACzE,qBAAA;AACJ,iBAAA,CAAA;;;AChBD;;AAEG;;;;"}
@@ -1,6 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ViewContainerRef, Directive, Input } from '@angular/core';
3
3
 
4
+ /**
5
+ * @deprecated use modern control flow (`@for`) syntax instead
6
+ */
4
7
  class TuiFor {
5
8
  constructor() {
6
9
  this.vcr = inject(ViewContainerRef);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-for.mjs","sources":["../../../projects/cdk/directives/for/for.directive.ts","../../../projects/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import {\n Directive,\n type EmbeddedViewRef,\n inject,\n Input,\n type OnChanges,\n type TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class TuiFor<T, K = unknown> implements OnChanges {\n private readonly vcr = inject(ViewContainerRef);\n\n private ref?: EmbeddedViewRef<unknown>;\n\n @Input()\n public ngForOf: T[] | readonly T[] | null = [];\n\n @Input()\n public ngForElse?: TemplateRef<K>;\n\n @Input()\n public ngForEmpty?: TemplateRef<K>;\n\n public ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.ngForOf?.length === 0 && this.ngForEmpty) {\n this.ref = this.vcr.createEmbeddedView(this.ngForEmpty);\n } else if (!this.ngForOf && this.ngForElse) {\n this.ref = this.vcr.createEmbeddedView(this.ngForElse);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAUA,MAIa,MAAM,CAAA;AAJnB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAKzC,IAAO,CAAA,OAAA,GAA8B,EAAE,CAAC;AAiBlD,KAAA;IATU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;AAC/C,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,SAAA;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;AACxC,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1D,SAAA;KACJ;+GAtBQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0DAA0D;AACvE,iBAAA,CAAA;8BAOU,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;;;ACzBV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-for.mjs","sources":["../../../projects/cdk/directives/for/for.directive.ts","../../../projects/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import {\n Directive,\n type EmbeddedViewRef,\n inject,\n Input,\n type OnChanges,\n type TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @deprecated use modern control flow (`@for`) syntax instead\n */\n@Directive({\n standalone: true,\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class TuiFor<T, K = unknown> implements OnChanges {\n private readonly vcr = inject(ViewContainerRef);\n\n private ref?: EmbeddedViewRef<unknown>;\n\n @Input()\n public ngForOf: T[] | readonly T[] | null = [];\n\n @Input()\n public ngForElse?: TemplateRef<K>;\n\n @Input()\n public ngForEmpty?: TemplateRef<K>;\n\n public ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.ngForOf?.length === 0 && this.ngForEmpty) {\n this.ref = this.vcr.createEmbeddedView(this.ngForEmpty);\n } else if (!this.ngForOf && this.ngForElse) {\n this.ref = this.vcr.createEmbeddedView(this.ngForElse);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAUA;;AAEG;AACH,MAIa,MAAM,CAAA;AAJnB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAKzC,IAAO,CAAA,OAAA,GAA8B,EAAE,CAAC;AAiBlD,KAAA;IATU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;AAC/C,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,SAAA;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;AACxC,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1D,SAAA;KACJ;+GAtBQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0DAA0D;AACvE,iBAAA,CAAA;8BAOU,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;;;AC5BV;;AAEG;;;;"}
@@ -17,8 +17,7 @@ class TuiLetContext {
17
17
  }
18
18
 
19
19
  /**
20
- * Works like *ngIf but does not have a condition — use it to declare
21
- * the result of pipes calculation (i.e. async pipe)
20
+ * @deprecated use @let instead
22
21
  */
23
22
  class TuiLet {
24
23
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-let.mjs","sources":["../../../projects/cdk/directives/let/let-context.ts","../../../projects/cdk/directives/let/let.directive.ts","../../../projects/cdk/directives/let/taiga-ui-cdk-directives-let.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\n\nimport {type TuiLet} from './let.directive';\n\n/**\n * @internal\n */\nexport class TuiLetContext<T> implements TuiContext<T> {\n constructor(private readonly internalDirectiveInstance: TuiLet<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n\n public get tuiLet(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n}\n","import {Directive, inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {TuiLetContext} from './let-context';\n\n/**\n * Works like *ngIf but does not have a condition — use it to declare\n * the result of pipes calculation (i.e. async pipe)\n */\n@Directive({\n standalone: true,\n selector: '[tuiLet]',\n})\nexport class TuiLet<T> {\n @Input()\n public tuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<TuiLetContext<T>>),\n new TuiLetContext<T>(this),\n );\n }\n\n /**\n * Asserts the correct type of the context for the template that `TuiLet` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `TuiLet` structural directive renders its template with a specific context type.\n */\n public static ngTemplateContextGuard<T>(\n _dir: TuiLet<T>,\n _ctx: unknown,\n ): _ctx is TuiLetContext<T> {\n return true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA;;AAEG;MACU,aAAa,CAAA;AACtB,IAAA,WAAA,CAA6B,yBAAoC,EAAA;QAApC,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAAW;KAAI;AAErE,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAChD;AAED,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAChD;AACJ;;ACbD;;;AAGG;AACH,MAIa,MAAM,CAAA;AAIf,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CACvC,MAAM,EAAC,WAA6B,EAAC,EACrC,IAAI,aAAa,CAAI,IAAI,CAAC,CAC7B,CAAC;KACL;AAED;;;;;AAKG;AACI,IAAA,OAAO,sBAAsB,CAChC,IAAe,EACf,IAAa,EAAA;AAEb,QAAA,OAAO,IAAI,CAAC;KACf;+GAtBQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;AACvB,iBAAA,CAAA;0EAGU,MAAM,EAAA,CAAA;sBADZ,KAAK;;;ACbV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-let.mjs","sources":["../../../projects/cdk/directives/let/let-context.ts","../../../projects/cdk/directives/let/let.directive.ts","../../../projects/cdk/directives/let/taiga-ui-cdk-directives-let.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\n\nimport {type TuiLet} from './let.directive';\n\n/**\n * @internal\n */\nexport class TuiLetContext<T> implements TuiContext<T> {\n constructor(private readonly internalDirectiveInstance: TuiLet<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n\n public get tuiLet(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n}\n","import {Directive, inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {TuiLetContext} from './let-context';\n\n/**\n * @deprecated use @let instead\n */\n@Directive({\n standalone: true,\n selector: '[tuiLet]',\n})\nexport class TuiLet<T> {\n @Input()\n public tuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<TuiLetContext<T>>),\n new TuiLetContext<T>(this),\n );\n }\n\n /**\n * Asserts the correct type of the context for the template that `TuiLet` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `TuiLet` structural directive renders its template with a specific context type.\n */\n public static ngTemplateContextGuard<T>(\n _dir: TuiLet<T>,\n _ctx: unknown,\n ): _ctx is TuiLetContext<T> {\n return true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA;;AAEG;MACU,aAAa,CAAA;AACtB,IAAA,WAAA,CAA6B,yBAAoC,EAAA;QAApC,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAAW;KAAI;AAErE,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAChD;AAED,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;KAChD;AACJ;;ACbD;;AAEG;AACH,MAIa,MAAM,CAAA;AAIf,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CACvC,MAAM,EAAC,WAA6B,EAAC,EACrC,IAAI,aAAa,CAAI,IAAI,CAAC,CAC7B,CAAC;KACL;AAED;;;;;AAKG;AACI,IAAA,OAAO,sBAAsB,CAChC,IAAe,EACf,IAAa,EAAA;AAEb,QAAA,OAAO,IAAI,CAAC;KACf;+GAtBQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBAJlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;AACvB,iBAAA,CAAA;0EAGU,MAAM,EAAA,CAAA;sBADZ,KAAK;;;ACZV;;AAEG;;;;"}
@@ -30,7 +30,9 @@ class TuiObscured {
30
30
  constructor() {
31
31
  this.activeZone = inject(TuiActiveZone, { optional: true });
32
32
  this.enabled$ = new BehaviorSubject(false);
33
- this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(map((by) => !!by?.every((el) => !this.activeZone?.contains(el))));
33
+ this.obscured$ = inject(TuiObscuredService, { self: true }).pipe(
34
+ // TODO: Refactor so that dropdowns and dialogs work properly without hacks
35
+ map((by) => !!by?.every((el) => el.closest('tui-dialogs') || !this.activeZone?.contains(el))));
34
36
  this.tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));
35
37
  }
36
38
  set tuiObscuredEnabled(enabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.service.ts","../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZonefreeScheduler, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementObscures, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, Observable, startWith, throttleTime} from 'rxjs';\n\n/**\n * Service that monitors element visibility by polling and returning\n * either null or an array of elements that overlap given element edges\n */\n@Injectable()\nexport class TuiObscuredService extends Observable<readonly Element[] | null> {\n private readonly el = tuiInjectElement();\n private readonly obscured$ = inject(WA_ANIMATION_FRAME).pipe(\n throttleTime(100, tuiZonefreeScheduler()),\n map(() => tuiGetElementObscures(this.el)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n );\n\n constructor() {\n super((subscriber) => this.obscured$.subscribe(subscriber));\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {BehaviorSubject, map} from 'rxjs';\n\nimport {TuiObscuredService} from './obscured.service';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n standalone: true,\n selector: '[tuiObscured]',\n providers: [TuiObscuredService],\n})\nexport class TuiObscured {\n private readonly activeZone = inject(TuiActiveZone, {optional: true});\n private readonly enabled$ = new BehaviorSubject(false);\n private readonly obscured$ = inject(TuiObscuredService, {self: true}).pipe(\n map((by) => !!by?.every((el) => !this.activeZone?.contains(el))),\n );\n\n @Output()\n public readonly tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));\n\n @Input()\n public set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;AACH,MACa,kBAAmB,SAAQ,UAAqC,CAAA;AAUzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAV/C,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACxD,YAAY,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,EACzC,GAAG,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,EACf,oBAAoB,EAAE,EACtB,gBAAgB,EAAE,CACrB,CAAC;KAID;+GAZQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;ACHX;;AAEG;AACH,MAKa,WAAW,CAAA;AALxB,IAAA,WAAA,GAAA;QAMqB,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CACtE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CACnE,CAAC;AAGc,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAMpF,KAAA;IAJG,IACW,kBAAkB,CAAC,OAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;+GAbQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAFT,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEtB,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;8BASmB,WAAW,EAAA,CAAA;sBAD1B,MAAM;gBAII,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;;;ACzBV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-obscured.mjs","sources":["../../../projects/cdk/directives/obscured/obscured.service.ts","../../../projects/cdk/directives/obscured/obscured.directive.ts","../../../projects/cdk/directives/obscured/taiga-ui-cdk-directives-obscured.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZonefreeScheduler, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementObscures, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, Observable, startWith, throttleTime} from 'rxjs';\n\n/**\n * Service that monitors element visibility by polling and returning\n * either null or an array of elements that overlap given element edges\n */\n@Injectable()\nexport class TuiObscuredService extends Observable<readonly Element[] | null> {\n private readonly el = tuiInjectElement();\n private readonly obscured$ = inject(WA_ANIMATION_FRAME).pipe(\n throttleTime(100, tuiZonefreeScheduler()),\n map(() => tuiGetElementObscures(this.el)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n );\n\n constructor() {\n super((subscriber) => this.obscured$.subscribe(subscriber));\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {BehaviorSubject, map} from 'rxjs';\n\nimport {TuiObscuredService} from './obscured.service';\n\n/**\n * Directive that monitors element visibility\n */\n@Directive({\n standalone: true,\n selector: '[tuiObscured]',\n providers: [TuiObscuredService],\n})\nexport class TuiObscured {\n private readonly activeZone = inject(TuiActiveZone, {optional: true});\n private readonly enabled$ = new BehaviorSubject(false);\n private readonly obscured$ = inject(TuiObscuredService, {self: true}).pipe(\n // TODO: Refactor so that dropdowns and dialogs work properly without hacks\n map(\n (by) =>\n !!by?.every(\n (el) => el.closest('tui-dialogs') || !this.activeZone?.contains(el),\n ),\n ),\n );\n\n @Output()\n public readonly tuiObscured = this.enabled$.pipe(tuiIfMap(() => this.obscured$));\n\n @Input()\n public set tuiObscuredEnabled(enabled: boolean) {\n this.enabled$.next(enabled);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;AAGG;AACH,MACa,kBAAmB,SAAQ,UAAqC,CAAA;AAUzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAV/C,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACxD,YAAY,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,EACzC,GAAG,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,EACf,oBAAoB,EAAE,EACtB,gBAAgB,EAAE,CACrB,CAAC;KAID;+GAZQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;ACHX;;AAEG;AACH,MAKa,WAAW,CAAA;AALxB,IAAA,WAAA,GAAA;QAMqB,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI;;AAEtE,QAAA,GAAG,CACC,CAAC,EAAE,KACC,CAAC,CAAC,EAAE,EAAE,KAAK,CACP,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CACtE,CACR,CACJ,CAAC;AAGc,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAMpF,KAAA;IAJG,IACW,kBAAkB,CAAC,OAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;+GAnBQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAFT,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEtB,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;8BAemB,WAAW,EAAA,CAAA;sBAD1B,MAAM;gBAII,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;;;AC/BV;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "4.53.0",
3
+ "version": "4.55.0",
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",
@@ -31,6 +31,12 @@
31
31
  "esm": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
32
32
  "default": "./fesm2022/taiga-ui-cdk-classes.mjs"
33
33
  },
34
+ "./constants": {
35
+ "types": "./constants/index.d.ts",
36
+ "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
37
+ "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
38
+ "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
39
+ },
34
40
  "./date-time": {
35
41
  "types": "./date-time/index.d.ts",
36
42
  "esm2022": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
@@ -55,12 +61,6 @@
55
61
  "esm": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
56
62
  "default": "./fesm2022/taiga-ui-cdk-pipes.mjs"
57
63
  },
58
- "./constants": {
59
- "types": "./constants/index.d.ts",
60
- "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
61
- "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
62
- "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
63
- },
64
64
  "./services": {
65
65
  "types": "./services/index.d.ts",
66
66
  "esm2022": "./esm2022/services/taiga-ui-cdk-services.mjs",