{"version":3,"file":"ironsource-fusion-ui-components-switcher-v3.mjs","sources":["../../../projects/fusion-ui/components/switcher/v3/switcher.component.html","../../../projects/fusion-ui/components/switcher/v3/switcher.component.ts","../../../projects/fusion-ui/components/switcher/v3/switcher.module.ts","../../../projects/fusion-ui/components/switcher/v3/ironsource-fusion-ui-components-switcher-v3.ts"],"sourcesContent":["<div [class]=\"'fu-switcher ' + 'fu-size-' + switcherConfiguration.size\">\n    <div class=\"fu-switcher-holder\" *ngFor=\"let item of options\" [class]=\"'fu-size-' + switcherConfiguration.size\" [ngClass]=\"{'fu-selected': selected?.id === item?.id}\">\n        <input\n            type=\"radio\"\n            id=\"{{ switcherConfiguration.name }}_{{ item.id }}\"\n            [name]=\"switcherConfiguration.name\"\n            [checked]=\"selected?.id === item?.id\"\n            (change)=\"setSelection(item)\"\n        />\n        <label for=\"{{ switcherConfiguration.name }}_{{ item.id }}\" title=\"{{ item.title }}\">{{ item.title }}</label>\n    </div>\n</div>\n\n\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\nimport {SwitcherItem, SwitcherConfiguration} from './switcher.entities';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\n\n@Component({\n    selector: 'fusion-switcher',\n    templateUrl: './switcher.component.html',\n    styleUrls: ['./switcher.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SwitcherComponent),\n            multi: true\n        }\n    ]\n})\nexport class SwitcherComponent implements OnInit {\n    /**\n     * Configuration:\n     * type SwitcherConfiguration = {\n     *     name?: string;\n     *     size?: 'large';\n     * };\n     */\n    @Input() set configuration(value: SwitcherConfiguration) {\n        if (value) {\n            this.switcherConfiguration = {...this.switcherConfiguration, ...value};\n        }\n    }\n\n    /**\n     * Switcher options: interface SwitcherItem {\n     *     id: number | string;\n     *     title: string;\n     * }\n     */\n    @Input() options: SwitcherItem[] = [];\n\n    /**\n     * On selection changed. But better use formControl\n     * @internal\n     */\n    @Output() selectedChange: EventEmitter<SwitcherItem> = new EventEmitter();\n\n    /** @internal */\n    id: string;\n    /** @internal */\n    switcherConfiguration: SwitcherConfiguration = {name: '', size: 'small'};\n    /** @internal */\n    selected: SwitcherItem;\n\n    constructor(private uniqueService: UniqueIdService, private changeDetectorRef: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        const uniq = this.uniqueService.getUniqueId();\n        this.switcherConfiguration.name = this.switcherConfiguration.name || `fu-switcher-${uniq}`;\n        this.id = `fuSwitcher${uniq}`;\n    }\n\n    /** @internal */\n    isSelected(item: SwitcherItem): boolean {\n        if (isNullOrUndefined(this.selected) || isNullOrUndefined(this.selected.id)) {\n            return false;\n        }\n        return item.id === this.selected.id;\n    }\n    /** @internal */\n    setSelection(selected: SwitcherItem): void {\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    /** @internal */\n    propagateChange = (_: SwitcherItem) => {};\n    /** @internal */\n    propagateTouched = () => {};\n\n    /** @internal */\n    writeValue(value: SwitcherItem): void {\n        this.selected = isNullOrUndefined(value) ? {id: '', title: ''} : value;\n        this.changeDetectorRef.markForCheck();\n    }\n\n    /** @ignore */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /** @ignore */\n    registerOnTouched(fn: any): void {\n        this.propagateTouched = fn;\n    }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SwitcherComponent} from './switcher.component';\nimport {ReactiveFormsModule} from '@angular/forms';\n\n@NgModule({\n    declarations: [SwitcherComponent],\n    imports: [CommonModule, ReactiveFormsModule],\n    exports: [SwitcherComponent]\n})\nexport class SwitcherModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}