{"version":3,"file":"ironsource-fusion-ui-components-checkbox-v4.mjs","sources":["../../../projects/fusion-ui/components/checkbox/v4/checkbox.base.component.ts","../../../projects/fusion-ui/components/checkbox/v4/checkbox.component.html","../../../projects/fusion-ui/components/checkbox/v4/checkbox.component.ts","../../../projects/fusion-ui/components/checkbox/v4/ironsource-fusion-ui-components-checkbox-v4.ts"],"sourcesContent":["import {Directive, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {DomSanitizer} from '@angular/platform-browser';\n\n@Directive()\nexport abstract class CheckboxBaseComponent implements OnInit, ControlValueAccessor {\n    /** checkbox DOM element id. If not set, will be generated.\n     * @internal\n     * */\n    @Input() id: string;\n    @Input() set label(value: string) {\n        this._label = value;\n    }\n    @Input() set isIndeterminate(value: boolean) {\n        this._isIndeterminate = value ?? false;\n    }\n    @Input() set disabled(value: boolean) {\n        this._disabled = value ?? false;\n    }\n    @Input() backgroundColor: string;\n    /** @internal */\n    @Input() value: string;\n    /** @internal */\n    @Input() set checked(val: boolean) {\n        this._checked = val ?? false;\n    }\n\n    @Output() changed = new EventEmitter<boolean>();\n\n    /** @internal */\n    get label(): string {\n        return this._label;\n    }\n\n    /** @internal */\n    get disabled(): boolean {\n        return this._disabled;\n    }\n\n    /** @internal */\n    get checked(): boolean {\n        return this._checked;\n    }\n\n    /** @internal */\n    get isIndeterminate(): boolean {\n        return this._isIndeterminate;\n    }\n\n    private _label: string;\n    private _disabled = false;\n    private _checked = false;\n    private _isIndeterminate = false;\n\n    constructor(private uniqueIdService: UniqueIdService, protected sanitizer: DomSanitizer) {}\n\n    ngOnInit() {\n        this.id = this.id || 'fu-chb-' + this.uniqueIdService.getUniqueId();\n    }\n\n    /** @internal */\n    checkStateChange($event: Event) {\n        this.propagateTouched();\n        this._checked = ($event.target as HTMLInputElement).checked;\n        this.propagateChange(this.checked);\n        this.changed.emit(this.checked);\n    }\n\n    /** @internal */\n    getColoredBackgroundImage() {\n        const checked = `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Crect width='15' height='15' x='.5' y='.5' fill='{backgroundColor}' rx='3.5'/%3E%3Crect width='15' height='15' x='.5' y='.5' stroke='{backgroundColor}' rx='3.5'/%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m12.125 5.375-5.25 5.25L4.25 8'/%3E%3C/svg%3E`;\n        const indeterminate = `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Crect width='15' height='15' x='.5' y='.5' fill='{backgroundColor}' rx='3.5'/%3E%3Crect width='15' height='15' x='.5' y='.5' stroke='{backgroundColor}' rx='3.5'/%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-width='1.5' d='M4.75 8.25h6.5'/%3E%3C/svg%3E`;\n        let svg;\n        if (this.backgroundColor && (this.checked || this.isIndeterminate)) {\n            svg = this.sanitizer.bypassSecurityTrustStyle(\n                `url(\"${(this.isIndeterminate ? indeterminate : checked).replace(\n                    '{backgroundColor}',\n                    encodeURIComponent(this.backgroundColor)\n                )}\") left center no-repeat`\n            );\n        }\n        return svg;\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        this._checked = !!value;\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?(value: boolean): void {\n        this._disabled = value;\n    }\n}\n","<label class=\"fu-checkbox-wrapper\" [class.fu-disabled]=\"disabled\" [class.fu-checked]=\"checked\">\n    <input\n        type=\"checkbox\"\n        [id]=\"id\"\n        [value]=\"value\"\n        [checked]=\"checked\"\n        [disabled]=\"disabled\"\n        [indeterminate]=\"isIndeterminate\"\n        (change)=\"checkStateChange($event)\"\n    />\n    <span class=\"fu-label-checkbox\" [style.background]=\"getColoredBackgroundImage()\">&nbsp;</span>\n    <ng-content></ng-content>\n    <span *ngIf=\"label\" [fusionTooltip]=\"label\" class=\"fu-label-text truncate\">{{ label }}</span>\n</label>\n","import {ChangeDetectionStrategy, Component, forwardRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CheckboxBaseComponent} from './checkbox.base.component';\nimport {TooltipModule} from '@ironsource/fusion-ui/components/tooltip';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n    selector: 'fusion-checkbox',\n    standalone: true,\n    imports: [CommonModule, TooltipModule],\n    templateUrl: './checkbox.component.html',\n    styleUrls: ['./checkbox.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {class: 'fusion-v4'},\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CheckboxComponent),\n            multi: true\n        }\n    ]\n})\nexport class CheckboxComponent extends CheckboxBaseComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2"],"mappings":"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"}