{"version":3,"file":"ironsource-fusion-ui-components-switcher-common-base.mjs","sources":["../../../projects/fusion-ui/components/switcher/common/base/switcher.base.component.ts","../../../projects/fusion-ui/components/switcher/common/base/ironsource-fusion-ui-components-switcher-common-base.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {SwitcherItem, SwitcherMode} from '@ironsource/fusion-ui/components/switcher/common/entities';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Directive()\nexport class SwitcherBaseComponent implements OnInit {\n    @Input() name: string;\n    @Input() options: SwitcherItem[] = [];\n    @Input() error = '';\n    @Input() mode = SwitcherMode.Circle;\n    @Input() set disabled(value: boolean) {\n        this.setDisabledState(value);\n    }\n    @Output() selectedChange: EventEmitter<SwitcherItem> = new EventEmitter();\n\n    id: string;\n    isDisabled = false;\n\n    private selected: SwitcherItem;\n\n    constructor(private uniqueService: UniqueIdService, private changeDetectorRef: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        const uniq = this.uniqueService.getUniqueId();\n        this.name = this.name || `fui-switcher-${uniq}`;\n        this.id = `fuiSwitcher${uniq}`;\n    }\n\n    isSelected(item: SwitcherItem) {\n        if (isNullOrUndefined(this.selected) || isNullOrUndefined(this.selected.id)) {\n            return false;\n        }\n        return item.id === this.selected.id;\n    }\n\n    setSelected(selected: SwitcherItem) {\n        this.propagateTouched();\n        if (!isNullOrUndefined(this.selected) && !isNullOrUndefined(this.selected.id) && selected.id === this.selected.id) {\n            return;\n        }\n        this.selected = selected;\n        this.propagateChange({...selected});\n        this.selectedChange.emit({...selected});\n    }\n\n    // Implement ControlValueAccessor methods\n    propagateChange = (_: SwitcherItem) => {};\n\n    propagateTouched = () => {};\n\n    writeValue(value: SwitcherItem): void {\n        if (isNullOrUndefined(value)) {\n            this.selected = {id: '', title: ''};\n        } else {\n            this.selected = value;\n        }\n        this.changeDetectorRef.markForCheck();\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    setDisabledState?(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}