This commit is contained in:
nik
2025-10-03 22:27:28 +03:00
parent 829fad0e17
commit 871cf7e792
16520 changed files with 2967597 additions and 3 deletions

View File

@@ -0,0 +1,12 @@
import type { TextDimensionCalculator } from '../../textDimensionCalculator.js';
import { BaseAxis } from './baseAxis.js';
import type { XYChartAxisThemeConfig, XYChartAxisConfig } from '../../interfaces.js';
export declare class BandAxis extends BaseAxis {
private scale;
private categories;
constructor(axisConfig: XYChartAxisConfig, axisThemeConfig: XYChartAxisThemeConfig, categories: string[], title: string, textDimensionCalculator: TextDimensionCalculator);
setRange(range: [number, number]): void;
recalculateScale(): void;
getTickValues(): (string | number)[];
getScaleValue(value: string): number;
}

View File

@@ -0,0 +1,38 @@
import type { BoundingRect, Dimension, DrawableElem, Point, XYChartAxisConfig, XYChartAxisThemeConfig } from '../../interfaces.js';
import type { TextDimensionCalculator } from '../../textDimensionCalculator.js';
import type { Axis, AxisPosition } from './index.js';
export declare abstract class BaseAxis implements Axis {
protected axisConfig: XYChartAxisConfig;
protected title: string;
protected textDimensionCalculator: TextDimensionCalculator;
protected axisThemeConfig: XYChartAxisThemeConfig;
protected boundingRect: BoundingRect;
protected axisPosition: AxisPosition;
private range;
protected showTitle: boolean;
protected showLabel: boolean;
protected showTick: boolean;
protected showAxisLine: boolean;
protected outerPadding: number;
protected titleTextHeight: number;
protected labelTextHeight: number;
constructor(axisConfig: XYChartAxisConfig, title: string, textDimensionCalculator: TextDimensionCalculator, axisThemeConfig: XYChartAxisThemeConfig);
setRange(range: [number, number]): void;
getRange(): [number, number];
setAxisPosition(axisPosition: AxisPosition): void;
abstract getScaleValue(value: number | string): number;
abstract recalculateScale(): void;
abstract getTickValues(): (string | number)[];
getTickDistance(): number;
getAxisOuterPadding(): number;
private getLabelDimension;
recalculateOuterPaddingToDrawBar(): void;
private calculateSpaceIfDrawnHorizontally;
private calculateSpaceIfDrawnVertical;
calculateSpace(availableSpace: Dimension): Dimension;
setBoundingBoxXY(point: Point): void;
private getDrawableElementsForLeftAxis;
private getDrawableElementsForBottomAxis;
private getDrawableElementsForTopAxis;
getDrawableElements(): DrawableElem[];
}

View File

@@ -0,0 +1,12 @@
import type { SVGGroup } from '../../../../../diagram-api/types.js';
import type { AxisDataType, ChartComponent, XYChartAxisConfig, XYChartAxisThemeConfig } from '../../interfaces.js';
export type AxisPosition = 'left' | 'right' | 'top' | 'bottom';
export interface Axis extends ChartComponent {
getScaleValue(value: string | number): number;
setAxisPosition(axisPosition: AxisPosition): void;
getAxisOuterPadding(): number;
getTickDistance(): number;
recalculateOuterPaddingToDrawBar(): void;
setRange(range: [number, number]): void;
}
export declare function getAxis(data: AxisDataType, axisConfig: XYChartAxisConfig, axisThemeConfig: XYChartAxisThemeConfig, tmpSVGGroup: SVGGroup): Axis;

View File

@@ -0,0 +1,11 @@
import type { TextDimensionCalculator } from '../../textDimensionCalculator.js';
import { BaseAxis } from './baseAxis.js';
import type { XYChartAxisThemeConfig, XYChartAxisConfig } from '../../interfaces.js';
export declare class LinearAxis extends BaseAxis {
private scale;
private domain;
constructor(axisConfig: XYChartAxisConfig, axisThemeConfig: XYChartAxisThemeConfig, domain: [number, number], title: string, textDimensionCalculator: TextDimensionCalculator);
getTickValues(): (string | number)[];
recalculateScale(): void;
getScaleValue(value: number): number;
}