@taiga-ui/cdk 4.37.0-canary.e7da31c → 4.38.0-canary.30f044e

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 (56) hide show
  1. package/constants/version.d.ts +1 -1
  2. package/constants/version.js +1 -1
  3. package/directives/animated/animated-parent.directive.d.ts +10 -0
  4. package/directives/animated/animated.directive.d.ts +14 -0
  5. package/directives/animated/index.d.ts +2 -0
  6. package/directives/index.d.ts +1 -0
  7. package/esm2022/constants/version.mjs +2 -2
  8. package/esm2022/directives/animated/animated-parent.directive.mjs +39 -0
  9. package/esm2022/directives/animated/animated.directive.mjs +81 -0
  10. package/esm2022/directives/animated/index.mjs +3 -0
  11. package/esm2022/directives/animated/taiga-ui-cdk-directives-animated.mjs +5 -0
  12. package/esm2022/directives/index.mjs +2 -1
  13. package/esm2022/pipes/index.mjs +2 -1
  14. package/esm2022/pipes/obfuscate/index.mjs +3 -0
  15. package/esm2022/pipes/obfuscate/obfuscate.options.mjs +10 -0
  16. package/esm2022/pipes/obfuscate/obfuscate.pipe.mjs +44 -0
  17. package/esm2022/pipes/obfuscate/taiga-ui-cdk-pipes-obfuscate.mjs +5 -0
  18. package/esm2022/utils/miscellaneous/index.mjs +2 -1
  19. package/esm2022/utils/miscellaneous/obfuscate.mjs +53 -0
  20. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
  21. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +120 -0
  23. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -0
  24. package/fesm2022/taiga-ui-cdk-directives.mjs +1 -0
  25. package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +59 -0
  27. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -0
  28. package/fesm2022/taiga-ui-cdk-pipes.mjs +1 -0
  29. package/fesm2022/taiga-ui-cdk-pipes.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +54 -1
  31. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  32. package/package.json +29 -17
  33. package/pipes/index.d.ts +1 -0
  34. package/pipes/obfuscate/index.d.ts +2 -0
  35. package/pipes/obfuscate/obfuscate.options.d.ts +19 -0
  36. package/pipes/obfuscate/obfuscate.pipe.d.ts +16 -0
  37. package/schematics/collection.json +5 -0
  38. package/schematics/migrate-tui-let/index.d.ts +3 -0
  39. package/schematics/migrate-tui-let/index.js +71 -0
  40. package/schematics/ng-update/steps/index.d.ts +1 -1
  41. package/schematics/ng-update/steps/index.js +1 -1
  42. package/schematics/ng-update/v4/migrate-addon-doc/index.js +1 -1
  43. package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +1 -1
  44. package/schematics/ng-update/v4/migrate-css-vars/palette.js +1 -1
  45. package/schematics/ng-update/v4/steps/templates/migrate-badge.js +1 -1
  46. package/schematics/ng-update/v4/steps/templates/migrate-badged-content.js +1 -1
  47. package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js +1 -1
  48. package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +1 -1
  49. package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +1 -1
  50. package/schematics/utils/create-angular-json.d.ts +3 -2
  51. package/schematics/utils/create-angular-json.js +2 -2
  52. package/schematics/utils/get-projects.d.ts +1 -1
  53. package/schematics/{ng-update/steps → utils}/remove-module.d.ts +2 -2
  54. package/schematics/{ng-update/steps → utils}/remove-module.js +2 -2
  55. package/utils/miscellaneous/index.d.ts +1 -0
  56. package/utils/miscellaneous/obfuscate.d.ts +14 -0
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.37.0-canary.e7da31c";
1
+ export declare const TUI_VERSION = "4.38.0-canary.30f044e";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.37.0-canary.e7da31c';
4
+ exports.TUI_VERSION = '4.38.0-canary.30f044e';
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./animated.directive";
3
+ import * as i2 from "@ng-web-apis/mutation-observer";
4
+ export declare class TuiAnimatedParent {
5
+ private readonly el;
6
+ private readonly renderer;
7
+ protected handle(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAnimatedParent, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAnimatedParent, "[tuiAnimatedParent]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }, { directive: typeof i2.WaMutationObserver; inputs: {}; outputs: { "waMutationObserver": "waMutationObserver"; }; }]>;
10
+ }
@@ -0,0 +1,14 @@
1
+ import type { OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare const TUI_ENTER = "tui-enter";
4
+ export declare const TUI_LEAVE = "tui-leave";
5
+ export declare class TuiAnimated implements OnDestroy {
6
+ private readonly el;
7
+ private readonly app;
8
+ private readonly renderer;
9
+ constructor();
10
+ ngOnDestroy(): void;
11
+ protected remove(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAnimated, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAnimated, "[tuiAnimated]", never, {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from './animated.directive';
2
+ export * from './animated-parent.directive';
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/cdk/directives/active-zone';
2
+ export * from '@taiga-ui/cdk/directives/animated';
2
3
  export * from '@taiga-ui/cdk/directives/auto-focus';
3
4
  export * from '@taiga-ui/cdk/directives/click-outside';
4
5
  export * from '@taiga-ui/cdk/directives/control';
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.37.0-canary.e7da31c';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVFVJX1ZFUlNJT04gPSAnNC4zNy4wLWNhbmFyeS5lN2RhMzFjJztcbiJdfQ==
1
+ export const TUI_VERSION = '4.38.0-canary.30f044e';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVFVJX1ZFUlNJT04gPSAnNC4zOC4wLWNhbmFyeS4zMGYwNDRlJztcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Directive, inject, Renderer2 } from '@angular/core';
2
+ import { provideMutationObserverInit, WaMutationObserver, } from '@ng-web-apis/mutation-observer';
3
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
+ import { TUI_ENTER, TUI_LEAVE, TuiAnimated } from './animated.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./animated.directive";
7
+ import * as i2 from "@ng-web-apis/mutation-observer";
8
+ class TuiAnimatedParent {
9
+ constructor() {
10
+ this.el = tuiInjectElement();
11
+ this.renderer = inject(Renderer2);
12
+ }
13
+ handle() {
14
+ this.el.classList.remove(TUI_ENTER);
15
+ this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimatedParent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAnimatedParent, isStandalone: true, selector: "[tuiAnimatedParent]", host: { listeners: { "waMutationObserver": "handle()" } }, providers: [provideMutationObserverInit({ childList: true })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaMutationObserver, outputs: ["waMutationObserver", "waMutationObserver"] }], ngImport: i0 }); }
19
+ }
20
+ export { TuiAnimatedParent };
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimatedParent, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ standalone: true,
25
+ selector: '[tuiAnimatedParent]',
26
+ providers: [provideMutationObserverInit({ childList: true })],
27
+ hostDirectives: [
28
+ TuiAnimated,
29
+ {
30
+ directive: WaMutationObserver,
31
+ outputs: ['waMutationObserver'],
32
+ },
33
+ ],
34
+ host: {
35
+ '(waMutationObserver)': 'handle()',
36
+ },
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtcGFyZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2FuaW1hdGVkL2FuaW1hdGVkLXBhcmVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCwyQkFBMkIsRUFDM0Isa0JBQWtCLEdBQ3JCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFdkUsTUFlYSxpQkFBaUI7SUFmOUI7UUFnQnFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FNakQ7SUFKYSxNQUFNO1FBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQVBRLGlCQUFpQjttR0FBakIsaUJBQWlCLDZIQVpmLENBQUMsMkJBQTJCLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQzs7U0FZbEQsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBZjdCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7b0JBQzNELGNBQWMsRUFBRTt3QkFDWixXQUFXO3dCQUNYOzRCQUNJLFNBQVMsRUFBRSxrQkFBa0I7NEJBQzdCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO3lCQUNsQztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysc0JBQXNCLEVBQUUsVUFBVTtxQkFDckM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBwcm92aWRlTXV0YXRpb25PYnNlcnZlckluaXQsXG4gICAgV2FNdXRhdGlvbk9ic2VydmVyLFxufSBmcm9tICdAbmctd2ViLWFwaXMvbXV0YXRpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5cbmltcG9ydCB7VFVJX0VOVEVSLCBUVUlfTEVBVkUsIFR1aUFuaW1hdGVkfSBmcm9tICcuL2FuaW1hdGVkLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQW5pbWF0ZWRQYXJlbnRdJyxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlTXV0YXRpb25PYnNlcnZlckluaXQoe2NoaWxkTGlzdDogdHJ1ZX0pXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlBbmltYXRlZCxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBXYU11dGF0aW9uT2JzZXJ2ZXIsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ3dhTXV0YXRpb25PYnNlcnZlciddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKHdhTXV0YXRpb25PYnNlcnZlciknOiAnaGFuZGxlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFuaW1hdGVkUGFyZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIHByb3RlY3RlZCBoYW5kbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuY2xhc3NMaXN0LnJlbW92ZShUVUlfRU5URVIpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmRhdGFbVFVJX0xFQVZFXSA9IEFycmF5LmZyb20odGhpcy5lbC5jaGlsZHJlbik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,81 @@
1
+ import { afterNextRender, ApplicationRef, Directive, inject, ViewContainerRef, } from '@angular/core';
2
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
3
+ import * as i0 from "@angular/core";
4
+ export const TUI_ENTER = 'tui-enter';
5
+ export const TUI_LEAVE = 'tui-leave';
6
+ class TuiAnimated {
7
+ constructor() {
8
+ this.el = tuiInjectElement();
9
+ this.app = inject(ApplicationRef);
10
+ // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56
11
+ this.renderer = inject(ViewContainerRef)._hostLView?.[11];
12
+ if (!this.renderer) {
13
+ return;
14
+ }
15
+ // delegate is used in Angular Animations renderer
16
+ const renderer = this.renderer.delegate || this.renderer;
17
+ const { removeChild, data } = renderer;
18
+ if (data[TUI_LEAVE]) {
19
+ data[TUI_LEAVE].push(this.el);
20
+ return;
21
+ }
22
+ data[TUI_LEAVE] = [this.el];
23
+ afterNextRender(() => {
24
+ this.remove();
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
+ const { length } = element?.getAnimations() || [];
30
+ if (!element) {
31
+ remove();
32
+ return;
33
+ }
34
+ elements.splice(elements.indexOf(element), 1);
35
+ element.classList.add(TUI_LEAVE);
36
+ const animations = element.getAnimations();
37
+ const last = animations[animations.length - 1];
38
+ const finish = () => {
39
+ if (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
+ }
54
+ ngOnDestroy() {
55
+ const data = this.renderer?.data || { [TUI_LEAVE]: [] };
56
+ setTimeout(() => {
57
+ data[TUI_LEAVE] = data[TUI_LEAVE].filter((e) => e !== this.el);
58
+ });
59
+ }
60
+ remove() {
61
+ if (this.el.isConnected && !this.el.getAnimations().length) {
62
+ this.el.classList.remove(TUI_ENTER);
63
+ }
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimated, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAnimated, isStandalone: true, selector: "[tuiAnimated]", host: { listeners: { "animationend.self": "remove()", "animationcancel.self": "remove()" }, classAttribute: "tui-enter" }, ngImport: i0 }); }
67
+ }
68
+ export { TuiAnimated };
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimated, decorators: [{
70
+ type: Directive,
71
+ args: [{
72
+ standalone: true,
73
+ selector: '[tuiAnimated]',
74
+ host: {
75
+ class: TUI_ENTER,
76
+ '(animationend.self)': 'remove()',
77
+ '(animationcancel.self)': 'remove()',
78
+ },
79
+ }]
80
+ }], ctorParameters: function () { return []; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQvYW5pbWF0ZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLFNBQVMsRUFDVCxNQUFNLEVBQ04sZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFFckMsTUFTYSxXQUFXO0lBT3BCO1FBTmlCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLFFBQUcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUMsMkdBQTJHO1FBQzFGLGFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUdsRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPO1NBQ1Y7UUFFRCxrREFBa0Q7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6RCxNQUFNLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxHQUFHLFFBQVEsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUU5QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUIsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFZCxRQUFRLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBWSxFQUFFLEVBQVEsRUFBRSxJQUFjLEVBQUUsRUFBRTtnQkFDOUQsTUFBTSxNQUFNLEdBQUcsR0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxRQUFRLEdBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzdELE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUVoRCxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNWLE1BQU0sRUFBRSxDQUFDO29CQUVULE9BQU87aUJBQ1Y7Z0JBRUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFakMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxNQUFNLEdBQUcsR0FBUyxFQUFFO29CQUN0QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7d0JBQ3JCLE1BQU0sRUFBRSxDQUFDO3dCQUNULElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ25CO2dCQUNMLENBQUMsQ0FBQztnQkFFRixJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksRUFBRTtvQkFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO2lCQUMxQjtxQkFBTTtvQkFDSCxNQUFNLEVBQUUsQ0FBQztpQkFDWjtZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFFdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzsrR0F6RVEsV0FBVzttR0FBWCxXQUFXOztTQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFUdkIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsU0FBUzt3QkFDaEIscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsd0JBQXdCLEVBQUUsVUFBVTtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyLFxuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcblxuZXhwb3J0IGNvbnN0IFRVSV9FTlRFUiA9ICd0dWktZW50ZXInO1xuZXhwb3J0IGNvbnN0IFRVSV9MRUFWRSA9ICd0dWktbGVhdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUFuaW1hdGVkXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogVFVJX0VOVEVSLFxuICAgICAgICAnKGFuaW1hdGlvbmVuZC5zZWxmKSc6ICdyZW1vdmUoKScsXG4gICAgICAgICcoYW5pbWF0aW9uY2FuY2VsLnNlbGYpJzogJ3JlbW92ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBbmltYXRlZCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcCA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG5cbiAgICAvLyBAdHMtaWdub3JlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy92aWV3LnRzI0w1NlxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZikuX2hvc3RMVmlldz8uWzExXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlbGVnYXRlIGlzIHVzZWQgaW4gQW5ndWxhciBBbmltYXRpb25zIHJlbmRlcmVyXG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlci5kZWxlZ2F0ZSB8fCB0aGlzLnJlbmRlcmVyO1xuICAgICAgICBjb25zdCB7cmVtb3ZlQ2hpbGQsIGRhdGF9ID0gcmVuZGVyZXI7XG5cbiAgICAgICAgaWYgKGRhdGFbVFVJX0xFQVZFXSkge1xuICAgICAgICAgICAgZGF0YVtUVUlfTEVBVkVdLnB1c2godGhpcy5lbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbVFVJX0xFQVZFXSA9IFt0aGlzLmVsXTtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcblxuICAgICAgICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQgPSAocGFyZW50OiBOb2RlLCBlbDogTm9kZSwgaG9zdD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmUgPSAoKTogdm9pZCA9PiByZW1vdmVDaGlsZC5jYWxsKHJlbmRlcmVyLCBwYXJlbnQsIGVsLCBob3N0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50czogRWxlbWVudFtdID0gZGF0YVtUVUlfTEVBVkVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50cy5maW5kKChsZWF2ZSkgPT4gZWwuY29udGFpbnMobGVhdmUpKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7bGVuZ3RofSA9IGVsZW1lbnQ/LmdldEFuaW1hdGlvbnMoKSB8fCBbXTtcblxuICAgICAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmUoKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWxlbWVudHMuc3BsaWNlKGVsZW1lbnRzLmluZGV4T2YoZWxlbWVudCksIDEpO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChUVUlfTEVBVkUpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYW5pbWF0aW9ucyA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBhbmltYXRpb25zW2FuaW1hdGlvbnMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgY29uc3QgZmluaXNoID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50LmNvbnRhaW5zKGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcC50aWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKGFuaW1hdGlvbnMubGVuZ3RoID4gbGVuZ3RoICYmIGxhc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdC5vbmZpbmlzaCA9IGZpbmlzaDtcbiAgICAgICAgICAgICAgICAgICAgbGFzdC5vbmNhbmNlbCA9IGZpbmlzaDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlbmRlcmVyPy5kYXRhIHx8IHtbVFVJX0xFQVZFXTogW119O1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZGF0YVtUVUlfTEVBVkVdID0gZGF0YVtUVUlfTEVBVkVdLmZpbHRlcigoZTogRWxlbWVudCkgPT4gZSAhPT0gdGhpcy5lbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsLmlzQ29ubmVjdGVkICYmICF0aGlzLmVsLmdldEFuaW1hdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWwuY2xhc3NMaXN0LnJlbW92ZShUVUlfRU5URVIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './animated.directive';
2
+ export * from './animated-parent.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuaW1hdGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGVkLXBhcmVudC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLWRpcmVjdGl2ZXMtYW5pbWF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZC90YWlnYS11aS1jZGstZGlyZWN0aXZlcy1hbmltYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/cdk/directives/active-zone';
2
+ export * from '@taiga-ui/cdk/directives/animated';
2
3
  export * from '@taiga-ui/cdk/directives/auto-focus';
3
4
  export * from '@taiga-ui/cdk/directives/click-outside';
4
5
  export * from '@taiga-ui/cdk/directives/control';
@@ -25,4 +26,4 @@ export * from '@taiga-ui/cdk/directives/validator';
25
26
  export * from '@taiga-ui/cdk/directives/value-changes';
26
27
  export * from '@taiga-ui/cdk/directives/visual-viewport';
27
28
  export * from '@taiga-ui/cdk/directives/zoom';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29weS1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2Ryb3BwYWJsZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9jdXMtdHJhcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9udC1zaXplJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2hpZ2gtZHBpJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL21lZGlhJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9vYnNjdXJlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcGFuJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9wbGF0Zm9ybSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXNpemVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9zd2lwZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy92YWx1ZS1jaGFuZ2VzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy92aXN1YWwtdmlld3BvcnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3pvb20nO1xuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29weS1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2Ryb3BwYWJsZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9jdXMtdHJhcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvZm9udC1zaXplJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2hpZ2gtZHBpJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL21lZGlhJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9vYnNjdXJlZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcGFuJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9wbGF0Zm9ybSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXNpemVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9zd2lwZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy92YWx1ZS1jaGFuZ2VzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy92aXN1YWwtdmlld3BvcnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3pvb20nO1xuIl19
@@ -3,7 +3,8 @@ export * from '@taiga-ui/cdk/pipes/filter';
3
3
  export * from '@taiga-ui/cdk/pipes/is-present';
4
4
  export * from '@taiga-ui/cdk/pipes/keys';
5
5
  export * from '@taiga-ui/cdk/pipes/mapper';
6
+ export * from '@taiga-ui/cdk/pipes/obfuscate';
6
7
  export * from '@taiga-ui/cdk/pipes/repeat-times';
7
8
  export * from '@taiga-ui/cdk/pipes/replace';
8
9
  export * from '@taiga-ui/cdk/pipes/to-array';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9pcy1wcmVzZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMva2V5cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL21hcHBlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3JlcGVhdC10aW1lcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3JlcGxhY2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL2FuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL2lzLXByZXNlbnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9rZXlzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvb2JmdXNjYXRlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvcmVwZWF0LXRpbWVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvcmVwbGFjZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL3RvLWFycmF5JztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './obfuscate.options';
2
+ export * from './obfuscate.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvb2JmdXNjYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb2JmdXNjYXRlLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmZ1c2NhdGUucGlwZSc7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { tuiCreateOptions, tuiObfuscate } from '@taiga-ui/cdk/utils';
2
+ export const TUI_OBFUSCATE_DEFAULT_OPTIONS = {
3
+ default: (value, symbol = '*') => tuiObfuscate(value, symbol),
4
+ recipes: {},
5
+ };
6
+ /**
7
+ * Injection token for obfuscation options.
8
+ */
9
+ export const [TUI_OBFUSCATE_OPTIONS, tuiObfuscateOptionsProvider] = tuiCreateOptions(TUI_OBFUSCATE_DEFAULT_OPTIONS);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JmdXNjYXRlLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvb2JmdXNjYXRlL29iZnVzY2F0ZS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQWtCbkUsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQXdCO0lBQzlELE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUM3RCxPQUFPLEVBQUUsRUFBRTtDQUNkLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsMkJBQTJCLENBQUMsR0FBRyxnQkFBZ0IsQ0FDaEYsNkJBQTZCLENBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUNyZWF0ZU9wdGlvbnMsIHR1aU9iZnVzY2F0ZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgb3B0aW9ucyBmb3Igb2JmdXNjYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHVpT2JmdXNjYXRlT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBmdW5jdGlvbiB1c2VkIHRvIG9iZnVzY2F0ZSBhIHN0cmluZ1xuICAgICAqIGlmIG5vIHJlY2lwZSB3YXMgZm91bmQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdDogKHZhbHVlOiBzdHJpbmcsIHN5bWJvbD86IHN0cmluZykgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ29sbGVjdGlvbiBvZiBuYW1lZCByZWNpcGVzIGZvciBkaWZmZXJlbnQgb2JmdXNjYXRpb24gc2NlbmFyaW9zLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlY2lwZXM6IFJlY29yZDxzdHJpbmcsICh2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmc+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX09CRlVTQ0FURV9ERUZBVUxUX09QVElPTlM6IFR1aU9iZnVzY2F0ZU9wdGlvbnMgPSB7XG4gICAgZGVmYXVsdDogKHZhbHVlLCBzeW1ib2wgPSAnKicpID0+IHR1aU9iZnVzY2F0ZSh2YWx1ZSwgc3ltYm9sKSxcbiAgICByZWNpcGVzOiB7fSxcbn07XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBvYmZ1c2NhdGlvbiBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgW1RVSV9PQkZVU0NBVEVfT1BUSU9OUywgdHVpT2JmdXNjYXRlT3B0aW9uc1Byb3ZpZGVyXSA9IHR1aUNyZWF0ZU9wdGlvbnMoXG4gICAgVFVJX09CRlVTQ0FURV9ERUZBVUxUX09QVElPTlMsXG4pO1xuIl19
@@ -0,0 +1,44 @@
1
+ import { inject, Pipe } from '@angular/core';
2
+ import { TUI_OBFUSCATE_OPTIONS } from './obfuscate.options';
3
+ import * as i0 from "@angular/core";
4
+ class TuiObfuscatePipe {
5
+ constructor() {
6
+ this.option = inject(TUI_OBFUSCATE_OPTIONS);
7
+ }
8
+ /**
9
+ * Transforms the input value by obfuscating it according to the specified recipe or symbol.
10
+ *
11
+ * @param value The value to be obfuscated should be a string.
12
+ * @param recipe The name of the recipe to use for obfuscation or a single character symbol for custom obfuscation.
13
+ * @returns The obfuscated string.
14
+ * @throws Will throw an error if the specified recipe is not found.
15
+ */
16
+ transform(value, recipe = '') {
17
+ if (!value) {
18
+ return value;
19
+ }
20
+ if (!recipe) {
21
+ return this.option.default(value);
22
+ }
23
+ const obfuscate = this.option.recipes[recipe];
24
+ if (obfuscate) {
25
+ return obfuscate(value);
26
+ }
27
+ if (recipe.length === 1) {
28
+ return this.option.default(value, recipe[0]);
29
+ }
30
+ const availableRecipes = Object.keys(this.option.recipes).sort();
31
+ throw new Error(`Obfuscate recipe "${recipe}" not found. Available recipes: [${availableRecipes}]`);
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiObfuscatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiObfuscatePipe, isStandalone: true, name: "tuiObfuscate" }); }
35
+ }
36
+ export { TuiObfuscatePipe };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiObfuscatePipe, decorators: [{
38
+ type: Pipe,
39
+ args: [{
40
+ standalone: true,
41
+ name: 'tuiObfuscate',
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JmdXNjYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvcGlwZXMvb2JmdXNjYXRlL29iZnVzY2F0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUUxRCxNQUlhLGdCQUFnQjtJQUo3QjtRQUtxQixXQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FtQzNEO0lBakNHOzs7Ozs7O09BT0c7SUFDSSxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUMsSUFBSSxTQUFTLEVBQUU7WUFDWCxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjtRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7UUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVqRSxNQUFNLElBQUksS0FBSyxDQUNYLHFCQUFxQixNQUFNLG9DQUFvQyxnQkFBZ0IsR0FBRyxDQUNyRixDQUFDO0lBQ04sQ0FBQzsrR0FuQ1EsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsY0FBYztpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2luamVjdCwgUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VFVJX09CRlVTQ0FURV9PUFRJT05TfSBmcm9tICcuL29iZnVzY2F0ZS5vcHRpb25zJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aU9iZnVzY2F0ZScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU9iZnVzY2F0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IGluamVjdChUVUlfT0JGVVNDQVRFX09QVElPTlMpO1xuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgdmFsdWUgYnkgb2JmdXNjYXRpbmcgaXQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgcmVjaXBlIG9yIHN5bWJvbC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYmUgb2JmdXNjYXRlZCBzaG91bGQgYmUgYSBzdHJpbmcuXG4gICAgICogQHBhcmFtIHJlY2lwZSBUaGUgbmFtZSBvZiB0aGUgcmVjaXBlIHRvIHVzZSBmb3Igb2JmdXNjYXRpb24gb3IgYSBzaW5nbGUgY2hhcmFjdGVyIHN5bWJvbCBmb3IgY3VzdG9tIG9iZnVzY2F0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBvYmZ1c2NhdGVkIHN0cmluZy5cbiAgICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHNwZWNpZmllZCByZWNpcGUgaXMgbm90IGZvdW5kLlxuICAgICAqL1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgcmVjaXBlID0gJycpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlY2lwZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uLmRlZmF1bHQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2JmdXNjYXRlID0gdGhpcy5vcHRpb24ucmVjaXBlc1tyZWNpcGVdO1xuXG4gICAgICAgIGlmIChvYmZ1c2NhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBvYmZ1c2NhdGUodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY2lwZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbi5kZWZhdWx0KHZhbHVlLCByZWNpcGVbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlUmVjaXBlcyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9uLnJlY2lwZXMpLnNvcnQoKTtcblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgT2JmdXNjYXRlIHJlY2lwZSBcIiR7cmVjaXBlfVwiIG5vdCBmb3VuZC4gQXZhaWxhYmxlIHJlY2lwZXM6IFske2F2YWlsYWJsZVJlY2lwZXN9XWAsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLXBpcGVzLW9iZnVzY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9waXBlcy9vYmZ1c2NhdGUvdGFpZ2EtdWktY2RrLXBpcGVzLW9iZnVzY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -21,10 +21,11 @@ export * from './is-string';
21
21
  export * from './is-valid-url';
22
22
  export * from './mark-control-as-touched-and-validate';
23
23
  export * from './nullable-same';
24
+ export * from './obfuscate';
24
25
  export * from './provide';
25
26
  export * from './provide-options';
26
27
  export * from './pure';
27
28
  export * from './px';
28
29
  export * from './uniq-by';
29
30
  export * from './with-styles';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJyYXktcmVtb3ZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXktc2hhbGxvdy1lcXVhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS10b2dnbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtZGF0ZS1zZXBhcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb3VudC1maWxsZWQtY29udHJvbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUtYmluZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2Rpc3RhbmNlLWJldHdlZW4tdG91Y2hlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vhc2UtaW4tb3V0LXF1YWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0LWxlbmd0aCc7XG5leHBvcnQgKiBmcm9tICcuL2ZvbnQtc2l6ZS13YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW9yaWdpbmFsLWFycmF5LWZyb20tcXVlcnktbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWNvbnRyb2wtZW1wdHknO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1mYWxzeSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL2lzLW9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLXByZXNlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1zdHJpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy12YWxpZC11cmwnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrLWNvbnRyb2wtYXMtdG91Y2hlZC1hbmQtdmFsaWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udWxsYWJsZS1zYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9weCc7XG5leHBvcnQgKiBmcm9tICcuL3VuaXEtYnknO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXN0eWxlcyc7XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJyYXktcmVtb3ZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXktc2hhbGxvdy1lcXVhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS10b2dnbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UtZGF0ZS1zZXBhcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb3VudC1maWxsZWQtY29udHJvbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUtYmluZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2Rpc3RhbmNlLWJldHdlZW4tdG91Y2hlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Vhc2UtaW4tb3V0LXF1YWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0LWxlbmd0aCc7XG5leHBvcnQgKiBmcm9tICcuL2ZvbnQtc2l6ZS13YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW9yaWdpbmFsLWFycmF5LWZyb20tcXVlcnktbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWNvbnRyb2wtZW1wdHknO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1mYWxzeSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL2lzLW9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLXByZXNlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1zdHJpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy12YWxpZC11cmwnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrLWNvbnRyb2wtYXMtdG91Y2hlZC1hbmQtdmFsaWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udWxsYWJsZS1zYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vb2JmdXNjYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGUtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9weCc7XG5leHBvcnQgKiBmcm9tICcuL3VuaXEtYnknO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXN0eWxlcyc7XG4iXX0=
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Obfuscates a string by replacing certain characters with a symbol.
3
+ *
4
+ * @param value the input string to obfuscate
5
+ * @param symbol the symbol for obfuscation
6
+ * @return the obfuscated string
7
+ *
8
+ * The function determines which characters to obfuscate using a regular expression and the string's length:
9
+ * - 8 or more: show first 2 and last 2 characters
10
+ * - 4 to 7: show first and last character
11
+ * - less than 4: obfuscate all characters
12
+ * - obfuscates only alphanumeric characters
13
+ */
14
+ export function tuiObfuscate(value, symbol) {
15
+ if (!value) {
16
+ return value;
17
+ }
18
+ const match = /[\p{L}\p{N}]/gu;
19
+ let visible = 0;
20
+ let obfuscateIndexes = getObfuscateIndexes(value, match);
21
+ if (obfuscateIndexes.length >= 8) {
22
+ visible = 2;
23
+ }
24
+ else if (obfuscateIndexes.length >= 4) {
25
+ visible = 1;
26
+ }
27
+ obfuscateIndexes = obfuscateIndexes.slice(visible, obfuscateIndexes.length);
28
+ const lastIndex = Number(obfuscateIndexes.length) - visible;
29
+ obfuscateIndexes = obfuscateIndexes.slice(0, lastIndex < 0 ? 0 : lastIndex);
30
+ const result = value.split('');
31
+ obfuscateIndexes.forEach((index) => {
32
+ result[index] = symbol;
33
+ });
34
+ return result.join('');
35
+ }
36
+ function getObfuscateIndexes(value, match) {
37
+ if (!match) {
38
+ return Array.from({ length: value.length }).map((_, index) => index);
39
+ }
40
+ const obfuscateIndexes = [];
41
+ let matchResult;
42
+ let count = 0;
43
+ while ((matchResult = match.exec(value)) !== null && count < value.length) {
44
+ const start = matchResult.index;
45
+ const end = match.lastIndex - 1;
46
+ for (let i = start; i <= end; i++) {
47
+ obfuscateIndexes.push(i);
48
+ }
49
+ count++;
50
+ }
51
+ return obfuscateIndexes;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JmdXNjYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvb2JmdXNjYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYSxFQUFFLE1BQWM7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7SUFFL0IsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLElBQUksZ0JBQWdCLEdBQWEsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRW5FLElBQUksZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLEdBQUcsQ0FBQyxDQUFDO0tBQ2Y7U0FBTSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDckMsT0FBTyxHQUFHLENBQUMsQ0FBQztLQUNmO0lBRUQsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBRTVELGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU1RSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRS9CLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsS0FBYSxFQUFFLEtBQWM7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0RTtJQUVELE1BQU0sZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ3RDLElBQUksV0FBVyxDQUFDO0lBQ2hCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVkLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUN2RSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsS0FBSyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU8sZ0JBQWdCLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogT2JmdXNjYXRlcyBhIHN0cmluZyBieSByZXBsYWNpbmcgY2VydGFpbiBjaGFyYWN0ZXJzIHdpdGggYSBzeW1ib2wuXG4gKlxuICogQHBhcmFtIHZhbHVlIHRoZSBpbnB1dCBzdHJpbmcgdG8gb2JmdXNjYXRlXG4gKiBAcGFyYW0gc3ltYm9sIHRoZSBzeW1ib2wgZm9yIG9iZnVzY2F0aW9uXG4gKiBAcmV0dXJuIHRoZSBvYmZ1c2NhdGVkIHN0cmluZ1xuICpcbiAqIFRoZSBmdW5jdGlvbiBkZXRlcm1pbmVzIHdoaWNoIGNoYXJhY3RlcnMgdG8gb2JmdXNjYXRlIHVzaW5nIGEgcmVndWxhciBleHByZXNzaW9uIGFuZCB0aGUgc3RyaW5nJ3MgbGVuZ3RoOlxuICogLSA4IG9yIG1vcmU6IHNob3cgZmlyc3QgMiBhbmQgbGFzdCAyIGNoYXJhY3RlcnNcbiAqIC0gNCB0byA3OiBzaG93IGZpcnN0IGFuZCBsYXN0IGNoYXJhY3RlclxuICogLSBsZXNzIHRoYW4gNDogb2JmdXNjYXRlIGFsbCBjaGFyYWN0ZXJzXG4gKiAtIG9iZnVzY2F0ZXMgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpT2JmdXNjYXRlKHZhbHVlOiBzdHJpbmcsIHN5bWJvbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaCA9IC9bXFxwe0x9XFxwe059XS9ndTtcblxuICAgIGxldCB2aXNpYmxlID0gMDtcbiAgICBsZXQgb2JmdXNjYXRlSW5kZXhlczogbnVtYmVyW10gPSBnZXRPYmZ1c2NhdGVJbmRleGVzKHZhbHVlLCBtYXRjaCk7XG5cbiAgICBpZiAob2JmdXNjYXRlSW5kZXhlcy5sZW5ndGggPj0gOCkge1xuICAgICAgICB2aXNpYmxlID0gMjtcbiAgICB9IGVsc2UgaWYgKG9iZnVzY2F0ZUluZGV4ZXMubGVuZ3RoID49IDQpIHtcbiAgICAgICAgdmlzaWJsZSA9IDE7XG4gICAgfVxuXG4gICAgb2JmdXNjYXRlSW5kZXhlcyA9IG9iZnVzY2F0ZUluZGV4ZXMuc2xpY2UodmlzaWJsZSwgb2JmdXNjYXRlSW5kZXhlcy5sZW5ndGgpO1xuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gTnVtYmVyKG9iZnVzY2F0ZUluZGV4ZXMubGVuZ3RoKSAtIHZpc2libGU7XG5cbiAgICBvYmZ1c2NhdGVJbmRleGVzID0gb2JmdXNjYXRlSW5kZXhlcy5zbGljZSgwLCBsYXN0SW5kZXggPCAwID8gMCA6IGxhc3RJbmRleCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSB2YWx1ZS5zcGxpdCgnJyk7XG5cbiAgICBvYmZ1c2NhdGVJbmRleGVzLmZvckVhY2goKGluZGV4KSA9PiB7XG4gICAgICAgIHJlc3VsdFtpbmRleF0gPSBzeW1ib2w7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBnZXRPYmZ1c2NhdGVJbmRleGVzKHZhbHVlOiBzdHJpbmcsIG1hdGNoPzogUmVnRXhwKTogbnVtYmVyW10ge1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogdmFsdWUubGVuZ3RofSkubWFwKChfLCBpbmRleCkgPT4gaW5kZXgpO1xuICAgIH1cblxuICAgIGNvbnN0IG9iZnVzY2F0ZUluZGV4ZXM6IG51bWJlcltdID0gW107XG4gICAgbGV0IG1hdGNoUmVzdWx0O1xuICAgIGxldCBjb3VudCA9IDA7XG5cbiAgICB3aGlsZSAoKG1hdGNoUmVzdWx0ID0gbWF0Y2guZXhlYyh2YWx1ZSkpICE9PSBudWxsICYmIGNvdW50IDwgdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbWF0Y2hSZXN1bHQuaW5kZXg7XG4gICAgICAgIGNvbnN0IGVuZCA9IG1hdGNoLmxhc3RJbmRleCAtIDE7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDw9IGVuZDsgaSsrKSB7XG4gICAgICAgICAgICBvYmZ1c2NhdGVJbmRleGVzLnB1c2goaSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb3VudCsrO1xuICAgIH1cblxuICAgIHJldHVybiBvYmZ1c2NhdGVJbmRleGVzO1xufVxuIl19
@@ -212,7 +212,7 @@ const TUI_USED_ICONS = [
212
212
  '@tui.move-up',
213
213
  ];
214
214
 
215
- const TUI_VERSION = '4.37.0-canary.e7da31c';
215
+ const TUI_VERSION = '4.38.0-canary.30f044e';
216
216
 
217
217
  /**
218
218
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import type {CreateEffectOptions} from '@angular/core';\nimport {VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.external-link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n] as const;\n","export const TUI_VERSION = '4.37.0-canary.e7da31c';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import type {CreateEffectOptions} from '@angular/core';\nimport {VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.external-link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n] as const;\n","export const TUI_VERSION = '4.38.0-canary.30f044e';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ApplicationRef, ViewContainerRef, afterNextRender, Directive, Renderer2 } from '@angular/core';
3
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
+ import * as i2 from '@ng-web-apis/mutation-observer';
5
+ import { provideMutationObserverInit, WaMutationObserver } from '@ng-web-apis/mutation-observer';
6
+
7
+ const TUI_ENTER = 'tui-enter';
8
+ const TUI_LEAVE = 'tui-leave';
9
+ class TuiAnimated {
10
+ constructor() {
11
+ this.el = tuiInjectElement();
12
+ this.app = inject(ApplicationRef);
13
+ // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56
14
+ this.renderer = inject(ViewContainerRef)._hostLView?.[11];
15
+ if (!this.renderer) {
16
+ return;
17
+ }
18
+ // delegate is used in Angular Animations renderer
19
+ const renderer = this.renderer.delegate || this.renderer;
20
+ const { removeChild, data } = renderer;
21
+ if (data[TUI_LEAVE]) {
22
+ data[TUI_LEAVE].push(this.el);
23
+ return;
24
+ }
25
+ data[TUI_LEAVE] = [this.el];
26
+ afterNextRender(() => {
27
+ this.remove();
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
+ const { length } = element?.getAnimations() || [];
33
+ if (!element) {
34
+ remove();
35
+ return;
36
+ }
37
+ elements.splice(elements.indexOf(element), 1);
38
+ element.classList.add(TUI_LEAVE);
39
+ const animations = element.getAnimations();
40
+ const last = animations[animations.length - 1];
41
+ const finish = () => {
42
+ if (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
+ }
57
+ ngOnDestroy() {
58
+ const data = this.renderer?.data || { [TUI_LEAVE]: [] };
59
+ setTimeout(() => {
60
+ data[TUI_LEAVE] = data[TUI_LEAVE].filter((e) => e !== this.el);
61
+ });
62
+ }
63
+ remove() {
64
+ if (this.el.isConnected && !this.el.getAnimations().length) {
65
+ this.el.classList.remove(TUI_ENTER);
66
+ }
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimated, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
69
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAnimated, isStandalone: true, selector: "[tuiAnimated]", host: { listeners: { "animationend.self": "remove()", "animationcancel.self": "remove()" }, classAttribute: "tui-enter" }, ngImport: i0 }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimated, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ standalone: true,
75
+ selector: '[tuiAnimated]',
76
+ host: {
77
+ class: TUI_ENTER,
78
+ '(animationend.self)': 'remove()',
79
+ '(animationcancel.self)': 'remove()',
80
+ },
81
+ }]
82
+ }], ctorParameters: function () { return []; } });
83
+
84
+ class TuiAnimatedParent {
85
+ constructor() {
86
+ this.el = tuiInjectElement();
87
+ this.renderer = inject(Renderer2);
88
+ }
89
+ handle() {
90
+ this.el.classList.remove(TUI_ENTER);
91
+ this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimatedParent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
94
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAnimatedParent, isStandalone: true, selector: "[tuiAnimatedParent]", host: { listeners: { "waMutationObserver": "handle()" } }, providers: [provideMutationObserverInit({ childList: true })], hostDirectives: [{ directive: TuiAnimated }, { directive: i2.WaMutationObserver, outputs: ["waMutationObserver", "waMutationObserver"] }], ngImport: i0 }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAnimatedParent, decorators: [{
97
+ type: Directive,
98
+ args: [{
99
+ standalone: true,
100
+ selector: '[tuiAnimatedParent]',
101
+ providers: [provideMutationObserverInit({ childList: true })],
102
+ hostDirectives: [
103
+ TuiAnimated,
104
+ {
105
+ directive: WaMutationObserver,
106
+ outputs: ['waMutationObserver'],
107
+ },
108
+ ],
109
+ host: {
110
+ '(waMutationObserver)': 'handle()',
111
+ },
112
+ }]
113
+ }] });
114
+
115
+ /**
116
+ * Generated bundle index. Do not edit.
117
+ */
118
+
119
+ export { TUI_ENTER, TUI_LEAVE, TuiAnimated, TuiAnimatedParent };
120
+ //# sourceMappingURL=taiga-ui-cdk-directives-animated.mjs.map