{"version":3,"file":"ironsource-fusion-ui-components-text-with-dropped-list-v4.mjs","sources":["../../../projects/fusion-ui/components/text-with-dropped-list/v4/text-with-dropped-list.component.html","../../../projects/fusion-ui/components/text-with-dropped-list/v4/text-with-dropped-list.component.ts","../../../projects/fusion-ui/components/text-with-dropped-list/v4/ironsource-fusion-ui-components-text-with-dropped-list-v4.ts"],"sourcesContent":["<div class=\"fu-text\">{{text}}</div>\n@if (showedList$ | async){\n    <fusion-dropped-list\n            class=\"fu-dropped-list\"\n            [list]=\"list\"\n    />\n}\n","import {ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {BehaviorSubject, from, Subject} from 'rxjs';\nimport {debounceTime, filter, switchMap, takeUntil, tap} from 'rxjs/operators';\nimport {computePosition, flip, shift} from '@floating-ui/dom';\nimport {RepositionDirective} from '@ironsource/fusion-ui/directives/reposition';\nimport {TeleportingModule} from '@ironsource/fusion-ui/directives/teleporting';\nimport {DroppedListComponent, DroppedListOption} from '@ironsource/fusion-ui/components/dropped-list/v4';\n\n@Component({\n    selector: 'fusion-text-with-dropped-list',\n    standalone: true,\n    host: {\n        class: 'fusion-v4',\n        '[class.fu-disabled]': 'disabled',\n        '[class.fu-small]': 'size === \"small\"',\n        '(mouseenter)': 'showedList$.next(true)',\n        '(mouseleave)': 'showedList$.next(false)'\n    },\n    imports: [CommonModule, TeleportingModule, RepositionDirective, DroppedListComponent],\n    templateUrl: './text-with-dropped-list.component.html',\n    styleUrl: './text-with-dropped-list.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextWithDroppedListComponent implements OnInit, OnDestroy {\n    @Input() size: 'small' | 'medium' = 'medium';\n    @Input() text: string;\n    @Input() disabled = false;\n    @Input() list: DroppedListOption[] = [];\n\n    /** @ignore */\n    showedList$ = new BehaviorSubject<boolean>(false);\n\n    #onDestroy$ = new Subject<void>();\n    #hostElement: HTMLElement = this.hostElementRef.nativeElement;\n    #textLabel: HTMLElement;\n    #droppedList: HTMLElement;\n\n    constructor(private hostElementRef: ElementRef) {}\n\n    ngOnInit() {\n        this.showedList$\n            .asObservable()\n            .pipe(\n                takeUntil(this.#onDestroy$),\n                filter(isShow => isShow && !this.list.length),\n                debounceTime(0),\n                tap(() => {\n                    this.#textLabel = <HTMLElement>this.#hostElement.querySelector(`.fu-text`);\n                    this.#droppedList = <HTMLElement>this.#hostElement.querySelector(`fusion-dropped-list`);\n                }),\n                switchMap(() =>\n                    from(\n                        computePosition(this.#textLabel, this.#droppedList, {\n                            placement: 'bottom',\n                            middleware: [flip(), shift({padding: 5})]\n                        })\n                    )\n                )\n            )\n            .subscribe(({x, y}) => {\n                this.#droppedList.style.left = x + 'px';\n                this.#droppedList.style.top = y + 'px';\n            });\n    }\n\n    ngOnDestroy(): void {\n        this.#onDestroy$.next();\n        this.#onDestroy$.complete();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}