{"version":3,"file":"taiga-ui-addon-charts-components-bar-set.mjs","sources":["../../../projects/addon-charts/components/bar-set/bar-set.component.ts","../../../projects/addon-charts/components/bar-set/bar-set.template.html","../../../projects/addon-charts/components/bar-set/taiga-ui-addon-charts-components-bar-set.ts"],"sourcesContent":["import {NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiBar} from '@taiga-ui/addon-charts/components/bar';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst PERCENT = 100;\nconst EMPTY_ARRAY: readonly number[] = [];\nconst FILLER_ARRAY: readonly number[] = [1];\n\n@Component({\n    standalone: true,\n    selector: 'tui-bar-set',\n    imports: [NgForOf, NgIf, NgTemplateOutlet, TuiBar],\n    templateUrl: './bar-set.template.html',\n    styleUrls: ['./bar-set.style.less'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiBarSet {\n    @Input()\n    public value: readonly number[] = [];\n\n    @Input()\n    public size: TuiSizeL | TuiSizeS | null = 'm';\n\n    @Input()\n    public collapsed = false;\n\n    protected get computedValue(): readonly number[] {\n        return this.collapsed ? FILLER_ARRAY : this.value;\n    }\n\n    protected get computedSegments(): readonly number[] {\n        return this.collapsed ? this.value : EMPTY_ARRAY;\n    }\n\n    protected get computedSize(): TuiSizeL | TuiSizeS {\n        return this.size || 'm';\n    }\n\n    protected getHeight(value: number): number {\n        return Math.abs((PERCENT * value) / this.getLargest(this.computedValue));\n    }\n\n    @tuiPure\n    private getLargest(value: readonly number[]): number {\n        return value.some((a) => a > 0)\n            ? value.reduce((a, b) => (a > b ? a : b), 0)\n            : Math.abs(value.reduce((a, b) => (a < b ? a : b), 0));\n    }\n}\n","<ng-container *ngIf=\"size; else flexible\">\n    <ng-container\n        *ngFor=\"let item of computedValue; let index = index\"\n        [ngTemplateOutlet]=\"bar\"\n        [ngTemplateOutletContext]=\"{$implicit: item, index: index, flexible: false}\"\n    />\n</ng-container>\n<ng-template #flexible>\n    <div\n        *ngFor=\"let item of computedValue; let index = index\"\n        class=\"t-wrapper\"\n    >\n        <ng-container\n            [ngTemplateOutlet]=\"bar\"\n            [ngTemplateOutletContext]=\"{$implicit: item, index: index, flexible: true}\"\n        />\n    </div>\n</ng-template>\n<ng-template\n    #bar\n    let-flexible=\"flexible\"\n    let-index=\"index\"\n    let-item\n>\n    <tui-bar\n        automation-id=\"tui-bar-set__bar\"\n        class=\"t-bar\"\n        [class.t-bar_flexible]=\"flexible\"\n        [class.t-bar_negative]=\"item < 0\"\n        [size]=\"computedSize\"\n        [style.background]=\"'var(--tui-chart-categorical-' + index.toString().padStart(2, '0') + ')'\"\n        [style.height.%]=\"getHeight(item)\"\n        [value]=\"computedSegments\"\n    />\n</ng-template>\n<span class=\"t-label\">\n    <ng-content />\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}