{"version":3,"file":"taiga-ui-addon-charts-components-axes.mjs","sources":["../../../projects/addon-charts/components/axes/axes.component.ts","../../../projects/addon-charts/components/axes/axes.template.html","../../../projects/addon-charts/components/axes/taiga-ui-addon-charts-components-axes.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {type TuiLineHandler, type TuiLineType} from '@taiga-ui/addon-charts/types';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\n\nexport const TUI_ALWAYS_DASHED: TuiLineHandler = () => 'dashed';\nexport const TUI_ALWAYS_DOTTED: TuiLineHandler = () => 'dotted';\nexport const TUI_ALWAYS_SOLID: TuiLineHandler = () => 'solid';\nexport const TUI_ALWAYS_NONE: TuiLineHandler = () => 'none';\n\n@Component({\n    standalone: true,\n    selector: 'tui-axes',\n    imports: [NgForOf, NgIf, TuiRepeatTimes],\n    templateUrl: './axes.template.html',\n    styleUrls: ['./axes.style.less'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        dir: 'ltr',\n        '[class._centered]': 'centeredXLabels',\n    },\n})\nexport class TuiAxes {\n    @Input()\n    public axisX: TuiLineType = 'solid';\n\n    @Input()\n    public axisXLabels: ReadonlyArray<string | null> = [];\n\n    @Input()\n    public axisY: TuiLineType = 'solid';\n\n    @Input()\n    public axisYInset = false;\n\n    @Input()\n    public axisYLabels: readonly string[] = [];\n\n    @Input()\n    public axisYName = '';\n\n    @Input()\n    public axisYSecondaryInset = false;\n\n    @Input()\n    public axisYSecondaryLabels: readonly string[] = [];\n\n    @Input()\n    public axisYSecondaryName = '';\n\n    @Input()\n    public horizontalLines = 0;\n\n    @Input()\n    public horizontalLinesHandler: TuiLineHandler = TUI_ALWAYS_SOLID;\n\n    @Input()\n    public verticalLines = 0;\n\n    @Input()\n    public verticalLinesHandler: TuiLineHandler = TUI_ALWAYS_DASHED;\n\n    public get hasXLabels(): boolean {\n        return !!this.axisXLabels.length;\n    }\n\n    public get hasYLabels(): boolean {\n        return (!!this.axisYLabels.length && !this.axisYInset) || !!this.axisYName;\n    }\n\n    public get hasYSecondaryLabels(): boolean {\n        return (\n            (!!this.axisYSecondaryLabels.length && !this.axisYSecondaryInset) ||\n            !!this.axisYSecondaryName\n        );\n    }\n\n    public fallback(label: string | null): string {\n        return label || CHAR_NO_BREAK_SPACE;\n    }\n\n    protected get centeredXLabels(): boolean {\n        return this.axisY === 'none';\n    }\n}\n","<div\n    *ngIf=\"hasYLabels\"\n    class=\"t-side\"\n    [class.t-side_padding]=\"hasXLabels\"\n>\n    <div\n        *ngIf=\"axisYName\"\n        automation-id=\"tui-axex__axis-y-name\"\n        class=\"t-name t-name_primary\"\n    >\n        {{ axisYName }}\n    </div>\n    <div\n        *ngIf=\"!axisYInset\"\n        class=\"t-labels-y t-labels-y_primary\"\n    >\n        <div\n            *ngFor=\"let label of axisYLabels\"\n            automation-id=\"tui-axex__axis-y-label\"\n            class=\"t-label-y\"\n        >\n            {{ fallback(label) }}\n        </div>\n    </div>\n</div>\n<div class=\"t-wrapper\">\n    <div\n        class=\"t-grid\"\n        [style.borderBottomStyle]=\"axisX\"\n        [style.borderLeftStyle]=\"axisY\"\n    >\n        <div class=\"t-vertical\">\n            <div\n                *tuiRepeatTimes=\"let index of verticalLines\"\n                automation-id=\"tui-axex__vertical-line\"\n                class=\"t-line t-line_vertical\"\n                [style.borderRightStyle]=\"verticalLinesHandler(index, verticalLines)\"\n            ></div>\n        </div>\n        <div class=\"t-horizontal\">\n            <div\n                *tuiRepeatTimes=\"let index of horizontalLines\"\n                automation-id=\"tui-axex__horizontal-line\"\n                class=\"t-line\"\n                [style.borderTopStyle]=\"horizontalLinesHandler(index, horizontalLines)\"\n            ></div>\n        </div>\n        <div\n            *ngIf=\"axisYInset\"\n            class=\"t-labels-y t-labels-y_inset\"\n        >\n            <div\n                *ngFor=\"let label of axisYLabels\"\n                automation-id=\"tui-axex__axis-y-label\"\n                class=\"t-label-y\"\n            >\n                {{ fallback(label) }}\n            </div>\n        </div>\n        <div\n            *ngIf=\"axisYSecondaryInset\"\n            class=\"t-labels-y t-labels-y_inset t-labels-y_inset_secondary\"\n        >\n            <div\n                *ngFor=\"let label of axisYSecondaryLabels\"\n                automation-id=\"tui-axex__axis-y-secondary-label\"\n                class=\"t-label-y\"\n            >\n                {{ fallback(label) }}\n            </div>\n        </div>\n        <div class=\"t-content\">\n            <ng-content />\n        </div>\n    </div>\n    <div\n        *ngIf=\"hasXLabels\"\n        class=\"t-labels-x\"\n    >\n        <div\n            *ngFor=\"let label of axisXLabels\"\n            automation-id=\"tui-axex__axis-x-label\"\n            class=\"t-label-x\"\n            [class.t-label-x_transparent]=\"label === null\"\n        >\n            {{ fallback(label) }}\n        </div>\n    </div>\n</div>\n<div\n    *ngIf=\"hasYSecondaryLabels\"\n    class=\"t-side\"\n    [class.t-side_padding]=\"hasXLabels\"\n>\n    <div\n        *ngIf=\"!axisYSecondaryInset\"\n        class=\"t-labels-y t-labels-y_secondary\"\n    >\n        <div\n            *ngFor=\"let label of axisYSecondaryLabels\"\n            automation-id=\"tui-axex__axis-y-secondary-label\"\n            class=\"t-label-y\"\n        >\n            {{ fallback(label) }}\n        </div>\n    </div>\n    <div\n        *ngIf=\"axisYSecondaryName\"\n        automation-id=\"tui-axex__axis-y-secondary-name\"\n        class=\"t-name\"\n    >\n        {{ axisYSecondaryName }}\n    </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}