{"version":3,"file":"ironsource-fusion-ui-components-checkbox-common-base.mjs","sources":["../../../projects/fusion-ui/components/checkbox/common/base/checkbox.base.component.ts","../../../projects/fusion-ui/components/checkbox/common/base/ironsource-fusion-ui-components-checkbox-common-base.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, EventEmitter, HostBinding, Input, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {IconData} from '@ironsource/fusion-ui/components/icon/common/entities';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Directive()\nexport abstract class CheckboxBaseComponent implements OnInit, ControlValueAccessor {\n    @Input() label: string;\n    /** @internal */\n    @Input() name: string;\n    /** @internal */\n    @Input() value: string;\n    @Input() icon: IconData;\n    @Input() flag: string;\n    @Input() isDisabled: boolean;\n    /** @internal */\n    @Input() checked: boolean;\n    @Input() isIndeterminate: boolean;\n    /** checkbox DOM element id. If not set, will be generated. */\n    @Input() id: string;\n    /** slass will be added to the checkbox label */\n    @Input() class: string;\n    /** custom fill color for checked or indeterminate stated*/\n    @Input() backgroundColor: string;\n    /** @internal */\n    @Input() tooltipContent: string;\n    /** @internal */\n    @Input() tooltipWidth: number;\n    /** @internal */\n    @Output() changed = new EventEmitter();\n    /** @internal */\n    @HostBinding('class.only-checkbox') isOnlyCheckbox = false;\n    protected isDisabledForm: boolean;\n    get toolTip(): string {\n        return this.tooltipContent ? this.tooltipContent : this.class && this.class.indexOf('truncate') > -1 ? this.label : '';\n    }\n\n    constructor(private uniqueIdService: UniqueIdService, private cd: ChangeDetectorRef, protected sanitizer: DomSanitizer) {}\n\n    ngOnInit() {\n        const unique = this.uniqueIdService.getUniqueId();\n        this.id = this.id || 'is-checkboxes-' + unique;\n        this.checked = this.checked || false;\n        // this.isDisabled = this.isDisabled || false;\n        this.label = this.label || '';\n        this.value = this.value || '';\n        this.isOnlyCheckbox = !this.label && !this.icon && !this.flag;\n    }\n\n    /** @ignore */\n    change(event: any): void {\n        this.propagateTouched();\n        this.checked = event.target.checked;\n        this.propagateChange(this.checked);\n        this.changed.emit(this.checked);\n    }\n\n    // Implement ControlValueAccessor methods\n    /**\n     * Method to call when value has changes.\n     * @ignore\n     */\n    propagateChange = (_: boolean) => {};\n\n    /**\n     * Method to call when the component is touched (when it was is clicked).\n     * @ignore\n     */\n    propagateTouched = () => {};\n\n    /**\n     * update value from model to the component\n     * @ignore\n     */\n    writeValue(value: boolean): void {\n        if (value === undefined || value === null) {\n            this.checked = false;\n        } else {\n            this.checked = value;\n        }\n        if (!(this.cd as any).destroyed) {\n            this.cd.detectChanges();\n        }\n    }\n\n    /**\n     * Informs the outside world about changes.\n     * see method propagateChange call - this.propagateChange(this.model);\n     * @ignore\n     */\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    /**\n     * on click\n     * @ignore\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     * @ignore\n     */\n    setDisabledState?(isDisabled: boolean): void {\n        if (isNullOrUndefined(this.isDisabled)) {\n            this.isDisabledForm = isDisabled;\n            this.cd.detectChanges();\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}