{"version":3,"file":"ironsource-fusion-ui-components-dropdown-search-common-base.mjs","sources":["../../../projects/fusion-ui/components/dropdown-search/common/base/dropdown-search.base.component.ts","../../../projects/fusion-ui/components/dropdown-search/common/base/ironsource-fusion-ui-components-dropdown-search-common-base.ts"],"sourcesContent":["import {Directive, ElementRef, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormControl} from '@angular/forms';\nimport {InputComponent} from '@ironsource/fusion-ui/components/input/v1';\nimport {takeUntil} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\n\n@Directive()\nexport abstract class DropdownSearchBaseComponent implements OnInit, OnDestroy, ControlValueAccessor {\n    @Input() autoComplete: boolean;\n    @Input() search: boolean;\n    @Input() placeholder = 'Search';\n    @ViewChild('inputComponent', {static: true}) inputComponent: InputComponent;\n    searchValue = new FormControl();\n\n    onDestroy$ = new Subject<void>();\n\n    public get searchInOptions(): boolean {\n        return this.elementRef?.nativeElement.classList.contains('fu-search-in-options');\n    }\n\n    constructor(protected elementRef: ElementRef) {}\n\n    ngOnInit() {\n        this.searchValue.valueChanges.pipe(takeUntil(this.onDestroy$)).subscribe(newValue => {\n            this.propagateChange(newValue);\n        });\n        fromEvent(this.elementRef.nativeElement, 'click')\n            .pipe(takeUntil(this.onDestroy$))\n            .subscribe((event: PointerEvent) => {\n                event.stopPropagation();\n            });\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    /**\n     * Method to call when the component value has changes.\n     */\n    propagateChange = (_: string) => {};\n\n    /**\n     * update value from model to the component\n     */\n    writeValue(value: string): void {\n        this.searchValue.patchValue(value);\n    }\n\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(): void {}\n\n    setDisabledState?(isDisabled: boolean): void {\n        const state = isDisabled ? 'disable' : 'enable';\n        this.searchValue[state]();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAOsB,2BAA2B,CAAA;AAS7C,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;KACpF;AAED,IAAA,WAAA,CAAsB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAVnC,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;AAEhC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEhC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;AAwBjC;;AAEG;AACH,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAS,KAAI,GAAG,CAAC;KArBY;IAEhD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChF,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;AAC5C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,KAAmB,KAAI;YAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACV;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC9B;AAOD;;AAEG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,iBAAiB,MAAW;AAE5B,IAAA,gBAAgB,CAAE,UAAmB,EAAA;QACjC,MAAM,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B;4FApDiB,2BAA2B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA;oEAA3B,2BAA2B,EAAA,SAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;iFAA3B,2BAA2B,EAAA,CAAA;cADhD,SAAS;2CAEG,YAAY,EAAA,CAAA;kBAApB,KAAK;YACG,MAAM,EAAA,CAAA;kBAAd,KAAK;YACG,WAAW,EAAA,CAAA;kBAAnB,KAAK;YACuC,cAAc,EAAA,CAAA;kBAA1D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;;;ACX/C;;AAEG;;;;"}