{"version":3,"file":"ironsource-fusion-ui-components-icon-select-list-common-base.mjs","sources":["../../../projects/fusion-ui/components/icon-select-list/common/base/icon-select-list.base.component.ts","../../../projects/fusion-ui/components/icon-select-list/common/base/ironsource-fusion-ui-components-icon-select-list-common-base.ts"],"sourcesContent":["import {Directive, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {IconSelectItem} from './entities/icon-select-item';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\n\n@Directive()\nexport abstract class IconSelectListBaseComponent implements OnInit {\n    @Input() id: string;\n    @Input() error: string;\n    @Input() options: Array<IconSelectItem>;\n    @Input() selected: Array<IconSelectItem>;\n    @Input() isMultiSelect = true;\n    @Output() selectionChanged = new EventEmitter();\n\n    private uid: string;\n\n    constructor(private _uniqueService: UniqueIdService) {\n        this.uid = this._uniqueService.getUniqueId().toString();\n    }\n\n    ngOnInit() {\n        this.id = this.id || 'iconSelect_' + this.uid;\n        this.options = this.options || [];\n        this.selected = this.selected || [];\n    }\n\n    isItemChecked(item: IconSelectItem): boolean {\n        return (\n            this.selected &&\n            this.selected.some(selected => {\n                return selected.id === item.id;\n            })\n        );\n    }\n\n    onItemSelectionChanged(evt: any, item: IconSelectItem): void {\n        this.propagateTouched();\n        if (!this.isMultiSelect) {\n            this.selected = [item];\n        } else {\n            const idx = this.selected.findIndex(option => option.id === item.id);\n            if (evt && idx === -1) {\n                this.selected.push(item);\n            } else {\n                this.selected.splice(idx, 1);\n            }\n        }\n        this.propagateChange(this.selected);\n        this.selectionChanged.emit(this.selected);\n    }\n\n    propagateChange = (_: any) => {};\n\n    propagateTouched = () => {};\n\n    writeValue(value: IconSelectItem[]): void {\n        if (value === undefined || value === null) {\n            this.selected = [];\n        } else {\n            this.selected = [...value];\n        }\n    }\n\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: any): void {\n        this.propagateTouched = fn;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}