📝 Commit Details:

This commit is contained in:
2025-05-31 22:40:29 +02:00
parent 91b1886dde
commit df8fb197c0
14061 changed files with 997277 additions and 103548 deletions

View File

@@ -0,0 +1,50 @@
import Element from '../core/core.element.js';
import type { ArcOptions, Point } from '../types/index.js';
export interface ArcProps extends Point {
startAngle: number;
endAngle: number;
innerRadius: number;
outerRadius: number;
circumference: number;
}
export default class ArcElement extends Element<ArcProps, ArcOptions> {
static id: string;
static defaults: {
borderAlign: string;
borderColor: string;
borderDash: any[];
borderDashOffset: number;
borderJoinStyle: any;
borderRadius: number;
borderWidth: number;
offset: number;
spacing: number;
angle: any;
circular: boolean;
};
static defaultRoutes: {
backgroundColor: string;
};
static descriptors: {
_scriptable: boolean;
_indexable: (name: any) => boolean;
};
circumference: number;
endAngle: number;
fullCircles: number;
innerRadius: number;
outerRadius: number;
pixelMargin: number;
startAngle: number;
constructor(cfg: any);
inRange(chartX: number, chartY: number, useFinalPosition: boolean): boolean;
getCenterPoint(useFinalPosition: boolean): {
x: number;
y: number;
};
tooltipPosition(useFinalPosition: boolean): {
x: number;
y: number;
};
draw(ctx: CanvasRenderingContext2D): void;
}

View File

@@ -0,0 +1,32 @@
export default class BarElement extends Element<import("../types/basic.js").AnyObject, import("../types/basic.js").AnyObject> {
static id: string;
/**
* @type {any}
*/
static defaults: any;
constructor(cfg: any);
options: any;
horizontal: any;
base: any;
width: any;
height: any;
inflateAmount: any;
draw(ctx: any): void;
inRange(mouseX: any, mouseY: any, useFinalPosition: any): boolean;
inXRange(mouseX: any, useFinalPosition: any): boolean;
inYRange(mouseY: any, useFinalPosition: any): boolean;
getCenterPoint(useFinalPosition: any): {
x: number;
y: number;
};
getRange(axis: any): number;
}
export type BarProps = {
x: number;
y: number;
base: number;
horizontal: boolean;
width: number;
height: number;
};
import Element from "../core/core.element.js";

View File

@@ -0,0 +1,87 @@
export default class LineElement extends Element<import("../types/basic.js").AnyObject, import("../types/basic.js").AnyObject> {
static id: string;
/**
* @type {any}
*/
static defaults: any;
static descriptors: {
_scriptable: boolean;
_indexable: (name: any) => boolean;
};
constructor(cfg: any);
animated: boolean;
options: any;
_chart: any;
_loop: any;
_fullLoop: any;
_path: any;
_points: any;
_segments: import("../helpers/helpers.segment.js").Segment[];
_decimated: boolean;
_pointsUpdated: boolean;
_datasetIndex: any;
updateControlPoints(chartArea: any, indexAxis: any): void;
set points(arg: any);
get points(): any;
get segments(): import("../helpers/helpers.segment.js").Segment[];
/**
* First non-skipped point on this line
* @returns {PointElement|undefined}
*/
first(): PointElement | undefined;
/**
* Last non-skipped point on this line
* @returns {PointElement|undefined}
*/
last(): PointElement | undefined;
/**
* Interpolate a point in this line at the same value on `property` as
* the reference `point` provided
* @param {PointElement} point - the reference point
* @param {string} property - the property to match on
* @returns {PointElement|undefined}
*/
interpolate(point: PointElement, property: string): PointElement | undefined;
/**
* Append a segment of this line to current path.
* @param {CanvasRenderingContext2D} ctx
* @param {object} segment
* @param {number} segment.start - start index of the segment, referring the points array
* @param {number} segment.end - end index of the segment, referring the points array
* @param {boolean} segment.loop - indicates that the segment is a loop
* @param {object} params
* @param {boolean} params.move - move to starting point (vs line to it)
* @param {boolean} params.reverse - path the segment from end to start
* @param {number} params.start - limit segment to points starting from `start` index
* @param {number} params.end - limit segment to points ending at `start` + `count` index
* @returns {undefined|boolean} - true if the segment is a full loop (path should be closed)
*/
pathSegment(ctx: CanvasRenderingContext2D, segment: {
start: number;
end: number;
loop: boolean;
}, params: {
move: boolean;
reverse: boolean;
start: number;
end: number;
}): undefined | boolean;
/**
* Append all segments of this line to current path.
* @param {CanvasRenderingContext2D|Path2D} ctx
* @param {number} [start]
* @param {number} [count]
* @returns {undefined|boolean} - true if line is a full loop (path should be closed)
*/
path(ctx: CanvasRenderingContext2D | Path2D, start?: number, count?: number): undefined | boolean;
/**
* Draw
* @param {CanvasRenderingContext2D} ctx
* @param {object} chartArea
* @param {number} [start]
* @param {number} [count]
*/
draw(ctx: CanvasRenderingContext2D, chartArea: object, start?: number, count?: number): void;
}
export type PointElement = import('./element.point.js').default;
import Element from "../core/core.element.js";

View File

@@ -0,0 +1,39 @@
import Element from '../core/core.element.js';
import type { CartesianParsedData, ChartArea, Point, PointHoverOptions, PointOptions } from '../types/index.js';
export type PointProps = Point;
export default class PointElement extends Element<PointProps, PointOptions & PointHoverOptions> {
static id: string;
parsed: CartesianParsedData;
skip?: boolean;
stop?: boolean;
/**
* @type {any}
*/
static defaults: {
borderWidth: number;
hitRadius: number;
hoverBorderWidth: number;
hoverRadius: number;
pointStyle: string;
radius: number;
rotation: number;
};
/**
* @type {any}
*/
static defaultRoutes: {
backgroundColor: string;
borderColor: string;
};
constructor(cfg: any);
inRange(mouseX: number, mouseY: number, useFinalPosition?: boolean): boolean;
inXRange(mouseX: number, useFinalPosition?: boolean): boolean;
inYRange(mouseY: number, useFinalPosition?: boolean): boolean;
getCenterPoint(useFinalPosition?: boolean): {
x: number;
y: number;
};
size(options?: Partial<PointOptions & PointHoverOptions>): number;
draw(ctx: CanvasRenderingContext2D, area: ChartArea): void;
getRange(): any;
}

View File

@@ -0,0 +1,4 @@
export { default as ArcElement } from "./element.arc.js";
export { default as LineElement } from "./element.line.js";
export { default as PointElement } from "./element.point.js";
export { default as BarElement } from "./element.bar.js";