{"version":3,"file":"ironsource-fusion-ui-components-search-v4.mjs","sources":["../../../projects/fusion-ui/components/search/v4/search-v4.component.ts","../../../projects/fusion-ui/components/search/v4/search-v4.component.html","../../../projects/fusion-ui/components/search/v4/ironsource-fusion-ui-components-search-v4.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, forwardRef, Injector, Input, OnDestroy, OnInit} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputComponent, InputSize} from '@ironsource/fusion-ui/components/input/v4';\nimport {FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {GenericPipe} from '@ironsource/fusion-ui/pipes/generic';\nimport {TestIdsService} from '@ironsource/fusion-ui/services/test-ids';\n\n@Component({\n    selector: 'fusion-search',\n    standalone: true,\n    imports: [CommonModule, ReactiveFormsModule, InputComponent, GenericPipe],\n    host: {class: 'fusion-v4'},\n    templateUrl: './search-v4.component.html',\n    styleUrls: ['./search-v4.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SearchV4Component), multi: true}]\n})\nexport class SearchV4Component implements OnInit, OnDestroy {\n    // region Inputs - placeholder\n    @Input()\n    set placeholder(value: string) {\n        this._placeholder = value;\n    }\n\n    constructor(private injector: Injector) {}\n\n    get placeholder() {\n        return this._placeholder;\n    }\n\n    private _placeholder: string;\n    // endregion\n    // region Inputs - size\n    @Input() set size(value: InputSize) {\n        this._size = value;\n    }\n\n    get size() {\n        return this._size;\n    }\n\n    private _size: InputSize = 'medium';\n    // endregion\n\n    /** @internal */\n    searchIcon = 'ph/magnifying-glass';\n    /** @internal */\n    searchFormControl = new FormControl();\n    /** @internal */\n    onDestroy$ = new Subject<void>();\n\n    ngOnInit() {\n        this.searchFormControl.valueChanges.pipe(takeUntil(this.onDestroy$)).subscribe(value => {\n            this.propagateTouched();\n            this.propagateChange(value);\n        });\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    // region Implement ControlValueAccessor methods\n    /**\n     * Method to call when value has changes.\n     * @ignore\n     */\n    propagateChange = (_: boolean) => {};\n\n    /**\n     * Method to call when the component is touched (when it was is clicked).\n     * @ignore\n     */\n    propagateTouched = () => {};\n\n    /**\n     * update value from model to the component\n     * @ignore\n     */\n    writeValue(value: string): void {\n        this.searchFormControl.setValue(value, {emitEvent: false});\n    }\n\n    /**\n     * Informs the outside world about changes.\n     * see method propagateChange call - this.propagateChange(this.model);\n     * @ignore\n     */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /**\n     * on click\n     * @ignore\n     */\n    registerOnTouched(fn: any): void {\n        this.propagateTouched = fn;\n    }\n\n    /**\n     * on set form controll enabled / disabled\n     * also do UI Component enabled / disabled\n     * @ignore\n     */\n    setDisabledState?(disabled: boolean): void {\n        if (disabled) {\n            this.searchFormControl.disable();\n        } else {\n            this.searchFormControl.enable();\n        }\n    }\n\n    testIdsService: TestIdsService = this.injector.get(TestIdsService);\n    @Input() testId: string;\n    // endregion\n}\n","<fusion-input\n    [formControl]=\"searchFormControl\"\n    [startIcon]=\"searchIcon\"\n    [showClear]=\"true\"\n    [placeholder]=\"placeholder\"\n    [size]=\"size\"\n    [testId]=\"testId\"\n></fusion-input>\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}