{"version":3,"file":"ironsource-fusion-ui-components-radio-group-v4.mjs","sources":["../../../projects/fusion-ui/components/radio-group/v4/radio-group.base.component.ts","../../../projects/fusion-ui/components/radio-group/v4/radio-group.component.html","../../../projects/fusion-ui/components/radio-group/v4/radio-group.component.ts","../../../projects/fusion-ui/components/radio-group/v4/ironsource-fusion-ui-components-radio-group-v4.ts"],"sourcesContent":["import {EventEmitter, Input, OnInit, Output, ChangeDetectorRef, Directive} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {LogService} from '@ironsource/fusion-ui/services/log';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {RadioGroupOptions} from '@ironsource/fusion-ui/components/radio-group/common/entities';\n\n@Directive()\nexport abstract class RadioGroupBaseComponent implements OnInit, ControlValueAccessor {\n    /** @internal */\n    id: string; // radio buttons group id\n\n    /**\n     * radio buttons group name\n     */\n    @Input() set name(value: string) {\n        this._name = value;\n    }\n    /**\n     * radiobutton inline direction\n     */\n    @Input() inline = false;\n    /**\n     * disabled (all group)\n     */\n    @Input() set disabled(value: boolean) {\n        this._disabled = value;\n    }\n    /**\n     * radiobutton option: interface RadioGroupOptions\n     */\n    @Input() set options(value: RadioGroupOptions[]) {\n        this._options = value;\n    }\n    /** @internal */\n    @Output() selectedChange = new EventEmitter();\n\n    get name(): string {\n        return this._name;\n    }\n    get disabled(): boolean {\n        return this._disabled;\n    }\n    get options(): RadioGroupOptions[] {\n        return this._options;\n    }\n    get selected(): RadioGroupOptions {\n        return this._selected;\n    }\n\n    private _name: string;\n    private _disabled = false;\n    private _options: RadioGroupOptions[] = [];\n    private _selected: RadioGroupOptions;\n\n    constructor(private uniqueIdService: UniqueIdService) {}\n\n    ngOnInit() {\n        const grUniq = this.uniqueIdService.getUniqueId();\n        this.name = 'is-rbgroup-' + (this.name || grUniq);\n        this.id = 'is-rbgroup-' + grUniq;\n    }\n    /** @internal */\n    isSelected(option: RadioGroupOptions) {\n        return option === this.selected || option?.id === this.selected?.id;\n    }\n    /** @internal */\n    setSelected(radioValue: string | number, option: RadioGroupOptions) {\n        this._selected = option;\n        this.selectedChange.emit(this.selected);\n        this.propagateChange(this.selected);\n    }\n\n    /**\n     * Method to call when value has changes.\n     * @internal\n     */\n    propagateChange = (_: RadioGroupOptions) => {};\n\n    /**\n     * Method to call when the component is touched (when it was is clicked).\n     * @internal\n     */\n    propagateTouched = () => {};\n\n    /**\n     * update value from model to the component\n     * @internal\n     */\n    writeValue(value: RadioGroupOptions): void {\n        this._selected = value;\n        if (this._selected?.disabled) {\n            this._disabled = true;\n        }\n    }\n\n    /**\n     * Informs the outside world about changes.\n     * see method propagateChange call - this.propagateChange(this.model);\n     * @internal\n     */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /**\n     * on click\n     * @internal\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     * @internal\n     */\n    setDisabledState?(isDisabled: boolean): void {\n        this._disabled = isDisabled;\n    }\n}\n","<div class=\"fu-radio-group-wrapper\" [attr.id]=\"id\" [class.fu-direction-row]=\"inline\">\n    <fusion-radio\n        *ngFor=\"let option of options\"\n        [name]=\"name\"\n        [value]=\"option.id\"\n        [label]=\"option.label\"\n        [selected]=\"isSelected(option)\"\n        [disabled]=\"disabled || option.disabled\"\n        (changed)=\"setSelected($event, option)\"\n    ></fusion-radio>\n</div>\n\n","import {ChangeDetectionStrategy, Component, forwardRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {RadioGroupBaseComponent} from './radio-group.base.component';\nimport {RadioComponent} from '@ironsource/fusion-ui/components/radio/v4';\n\n@Component({\n    selector: 'fusion-radio-group',\n    standalone: true,\n    imports: [CommonModule, RadioComponent],\n    templateUrl: './radio-group.component.html',\n    styleUrls: ['./radio-group.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {class: 'fusion-v4'},\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RadioGroupComponent),\n            multi: true\n        }\n    ]\n})\nexport class RadioGroupComponent extends RadioGroupBaseComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}