{"version":3,"file":"ironsource-fusion-ui-components-radio-common-base.mjs","sources":["../../../projects/fusion-ui/components/radio/common/base/radio.base.component.ts","../../../projects/fusion-ui/components/radio/common/base/ironsource-fusion-ui-components-radio-common-base.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\nimport {IconData} from '@ironsource/fusion-ui/components/icon/v1';\n\n@Directive()\nexport abstract class RadioBaseComponent implements OnInit, ControlValueAccessor {\n    @Input() name: string;\n    @Input() isDisabled: boolean;\n    @Input() checked: boolean;\n    @Input() value: string;\n    @Input() label: string;\n    @Input() icon: IconData;\n    @Input() tooltip: string;\n    @Output() changed = new EventEmitter();\n    private selectedValue: string;\n    id: string;\n\n    constructor(private uidService: UniqueIdService, private elRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        const grUniq = this.uidService.getUniqueId();\n        this.name = this.name || '';\n        this.id = 'fu-rb-' + grUniq;\n        this.label = this.label || '';\n        this.value = this.value ?? this.id;\n    }\n\n    genElementId() {\n        return this.name + '_' + this.value;\n    }\n\n    onChanged() {\n        this.propagateTouched();\n        this.propagateChange(this.value);\n        this.changed.emit(this.value);\n    }\n\n    // Implement ControlValueAccessor methods\n    /**\n     * Method to call when value has changes.\n     */\n    propagateChange = (_: any) => {};\n\n    /**\n     * Method to call when the component is touched (when it was is clicked).\n     */\n    propagateTouched = () => {};\n\n    /**\n     * update value from model to the component\n     */\n    writeValue(value: string): void {\n        if (value === undefined || value === null) {\n            this.selectedValue = '';\n        } else {\n            this.selectedValue = value;\n        }\n        if (isNullOrUndefined(this.checked)) {\n            this.checked = this.value === this.selectedValue;\n        }\n        this.elRef.nativeElement.querySelector('input').checked = this.checked;\n\n        this.changeDetectorRef.markForCheck();\n    }\n\n    /**\n     * Informs the outside world about changes.\n     * see method propagateChange call - this.propagateChange(this.model);\n     */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /**\n     * on click\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     */\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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"}