{"version":3,"file":"ironsource-fusion-ui-components-chart-labels-v4.mjs","sources":["../../../projects/fusion-ui/components/chart-labels/v4/chart-labels-v4.component.html","../../../projects/fusion-ui/components/chart-labels/v4/chart-labels-v4.component.ts","../../../projects/fusion-ui/components/chart-labels/v4/ironsource-fusion-ui-components-chart-labels-v4.ts"],"sourcesContent":["<div class=\"fu-chart-labels-wrapper\">\n    <div class=\"fu-chart-label\" *ngFor=\"let datasetLabel of labels;\"\n         [class.fu-clickable]=\"datasetLabel?.labelVisible\"\n         [class.fu-align-right]=\"datasetLabel?.alignToRight\"\n         [style.max-width]=\"'calc(100% / ' + labels?.length + ' - var(--fu-chart-label-width-normalize, 8px)'\"\n         (mouseenter)=\"!datasetLabel.typeCheckbox && onLabelHover(datasetLabel)\"\n         (mouseleave)=\"!datasetLabel.typeCheckbox && onLabelHover(null)\"\n         (click)=\"chartLabelClicked($event, datasetLabel)\"\n    >\n        <ng-container *ngIf=\"!datasetLabel.typeCheckbox\">\n            <div class=\"fu-chart-label-color\"\n                 [style.background-color]=\"getLabelBGColor(datasetLabel.color)\"\n                 [style.border-color]=\"datasetLabel.color\"\n            >\n            </div>\n            <fusion-icon class=\"fu-chart-label-icon\" *ngIf=\"datasetLabel.icon\" [name]=\"datasetLabel.icon\"></fusion-icon>\n            <div class=\"fu-chart-label-text truncate\" [class.fu-label-strikethrough]=\"!(datasetLabel?.labelVisible?.value ?? true)\" [attr.data-testid]=\"testId\"\n                 [fusionTooltip]=\"datasetLabel.label\">{{ datasetLabel.label }}\n            </div>\n        </ng-container>\n        <ng-container *ngIf=\"datasetLabel.typeCheckbox\">\n            <fusion-checkbox [label]=\"datasetLabel.label\" [backgroundColor]=\"datasetLabel.backgroundColor\" [formControl]=\"datasetLabel?.labelVisible\"></fusion-checkbox>\n        </ng-container>\n    </div>\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {debounceTime, takeUntil} from 'rxjs/operators';\nimport {ChartLabel} from '@ironsource/fusion-ui/components/chart/common/base';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {TooltipDirective} from '@ironsource/fusion-ui/components/tooltip/v4';\nimport {ColorsService} from '@ironsource/fusion-ui/services/colors';\nimport {CheckboxComponent} from '@ironsource/fusion-ui/components/checkbox/v4';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Component({\n    selector: 'fusion-chart-labels',\n    standalone: true,\n    imports: [CommonModule, IconModule, TooltipDirective, CheckboxComponent, ReactiveFormsModule],\n    host: {class: 'fusion-v4'},\n    templateUrl: './chart-labels-v4.component.html',\n    styleUrls: ['./chart-labels-v4.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChartLabelsV4Component implements OnInit, OnDestroy {\n    @Input() set labels(value: ChartLabel[]) {\n        this._labels = value;\n    }\n\n    private _labels: ChartLabel[] = [];\n    get labels(): ChartLabel[] {\n        return this._labels;\n    }\n\n    @Input() bgOpacity = 100;\n    @Input() testId: string;\n\n    @Output() labelClick = new EventEmitter<ChartLabel>();\n    @Output() labelHover = new EventEmitter<ChartLabel>();\n\n    colorsService = inject(ColorsService);\n    private labelClick$ = new Subject();\n    private onDestroy$ = new Subject<void>();\n\n    ngOnInit() {\n        this.labelClick$.pipe(takeUntil(this.onDestroy$), debounceTime(100)).subscribe((chartLabel: ChartLabel) => {\n            if (!isNullOrUndefined(chartLabel.labelVisible)) {\n                if (!chartLabel.typeCheckbox) {\n                    chartLabel.labelVisible.setValue(!chartLabel.labelVisible.value, {emitEvent: true});\n                }\n                this.labelClick.emit(chartLabel);\n                if (!chartLabel.typeCheckbox) {\n                    if (chartLabel.labelVisible.value) {\n                        this.labelHover.emit(chartLabel);\n                    } else {\n                        this.labelHover.emit(null);\n                    }\n                }\n            }\n        });\n    }\n\n    ngOnDestroy(): void {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    getLabelBGColor(hexColor: string): string {\n        return hexColor.startsWith('#') ? this.colorsService.toRgba(hexColor, this.bgOpacity) : hexColor;\n    }\n\n    onLabelHover(chartLabel: ChartLabel): void {\n        if (\n            isNullOrUndefined(chartLabel) ||\n            isNullOrUndefined(chartLabel.labelVisible) ||\n            (!isNullOrUndefined(chartLabel.labelVisible) && chartLabel.labelVisible.value)\n        ) {\n            this.labelHover.emit(chartLabel);\n        }\n    }\n\n    chartLabelClicked($event: Event, chartLabel: ChartLabel): void {\n        $event.stopPropagation();\n        this.labelClick$.next(chartLabel);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}