{"version":3,"file":"taiga-ui-kit-components-elastic-container.mjs","sources":["../../../projects/kit/components/elastic-container/elastic-container.directive.ts","../../../projects/kit/components/elastic-container/elastic-container.component.ts","../../../projects/kit/components/elastic-container/elastic-container.component.html","../../../projects/kit/components/elastic-container/taiga-ui-kit-components-elastic-container.ts"],"sourcesContent":["import {Directive, inject, Output} from '@angular/core';\nimport {\n    WaMutationObserverService,\n    WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {debounceTime, distinctUntilChanged, map, merge} from 'rxjs';\n\n@Directive({\n    standalone: true,\n    selector: '[tuiElasticContainer]',\n    providers: [\n        WaResizeObserverService,\n        WaMutationObserverService,\n        {\n            provide: WA_MUTATION_OBSERVER_INIT,\n            useValue: {\n                childList: true,\n                characterData: true,\n                subtree: true,\n            },\n        },\n    ],\n})\nexport class TuiElasticContainerDirective {\n    private readonly el = tuiInjectElement();\n\n    @Output()\n    public readonly tuiElasticContainer = merge(\n        inject(WaResizeObserverService, {self: true}),\n        inject(WaMutationObserverService, {self: true}),\n    ).pipe(\n        debounceTime(0),\n        map(() => this.el.clientHeight - 1),\n        distinctUntilChanged(),\n    );\n}\n","import {ChangeDetectionStrategy, Component, signal} from '@angular/core';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiElasticContainerDirective} from './elastic-container.directive';\n\n@Component({\n    standalone: true,\n    selector: 'tui-elastic-container',\n    imports: [TuiElasticContainerDirective],\n    templateUrl: './elastic-container.component.html',\n    styleUrls: ['./elastic-container.component.less'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {'[style.block-size]': 'transitions() ? \"auto\" : height()'},\n})\nexport class TuiElasticContainer {\n    protected height = signal('');\n    protected transitions = signal(0);\n\n    protected onAnimation(name: string, count: number): void {\n        if (name === 'height') {\n            this.transitions.update((value) => value + count);\n        }\n    }\n\n    protected updateHeight(height: number): void {\n        this.height.set(tuiPx(height));\n    }\n}\n","<div\n    class=\"t-wrapper\"\n    (transitioncancel)=\"onAnimation($any($event).propertyName, -1)\"\n    (transitionend)=\"onAnimation($any($event).propertyName, -1)\"\n    (transitionstart)=\"onAnimation($any($event).propertyName, 1)\"\n    (tuiElasticContainer)=\"updateHeight($event)\"\n>\n    <ng-content />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}