{"version":3,"file":"ironsource-fusion-ui-components-list-box-common-base.mjs","sources":["../../../projects/fusion-ui/components/list-box/common/base/entities/list-box-modes.ts","../../../projects/fusion-ui/components/list-box/common/base/list-box.base.component.ts","../../../projects/fusion-ui/components/list-box/common/base/ironsource-fusion-ui-components-list-box-common-base.ts"],"sourcesContent":["export enum ListBoxModes {\n    Regular = 'regular',\n    Frame = 'frame'\n}\n","import {ChangeDetectorRef, Input, OnInit, Directive, Injector} from '@angular/core';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\nimport {ListBoxOption} from './entities/list-box-option';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {ListBoxModes} from './entities/list-box-modes';\nimport {detectChangesDecorator} from '@ironsource/fusion-ui/decorators';\nimport {IconData} from '@ironsource/fusion-ui/components/icon/common/entities';\n\n@Directive()\nexport abstract class ListBoxBaseComponent implements OnInit, ControlValueAccessor {\n    options: ListBoxOption[];\n    isDisabled: boolean;\n    @Input() mappingOptions: any = {id: 'id', displayText: 'displayText'};\n    @Input() id: number | string;\n    @Input() mode: ListBoxModes;\n    @Input() title: string;\n    // for native;\n    @Input() set disabled(value: boolean) {\n        this.setDisabledState(value);\n    }\n\n    checkIconName: IconData;\n    removeIconName: IconData;\n\n    constructor(protected injector: Injector, protected cdr: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        this.mappingOptions = {\n            id: this.mappingOptions && this.mappingOptions.id ? this.mappingOptions.id : 'id',\n            displayText: this.mappingOptions && this.mappingOptions.displayText ? this.mappingOptions.displayText : 'displayText'\n        };\n\n        this.mode = this.mode || ListBoxModes.Regular;\n    }\n\n    trackByOption(index, option) {\n        return option ? option.id : index;\n    }\n\n    @detectChangesDecorator\n    removeOption(item, $event) {\n        this.options.splice(this.options.indexOf(item), 1);\n        this.propagateChange(this.options);\n        if ($event) {\n            $event.stopPropagation();\n        }\n        // this.cdr.markForCheck();\n    }\n\n    // Implement ControlValueAccessor methods\n    writeValue(value: any): void {\n        if (isNullOrUndefined(value) || (Array.isArray(value) && value.length === 0)) {\n            this.options = [];\n        } else {\n            this.options = Array.isArray(value) ? value : [value];\n        }\n\n        // creating new instance does not trigger change, so alert manually value changed\n        if (!(this.cdr as any).destroyed) {\n            this.cdr.detectChanges();\n        }\n    }\n\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(): void {}\n\n    propagateChange = (_: ListBoxOption[]) => {};\n\n    setDisabledState(isDisabled: boolean) {\n        this.isDisabled = isDisabled;\n\n        // the above line does not trigger change, so alert manually value changed\n        this.cdr.detectChanges();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}