forked from kurkle/chartjs-chart-treemap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.esm.d.ts
112 lines (98 loc) · 2.67 KB
/
index.esm.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import {
Chart,
ChartComponent,
DatasetController,
Element,
ScriptableContext, Color, Scriptable, FontSpec
} from 'chart.js';
export interface TreemapControllerDatasetOptions<DType> {
color?: Scriptable<Color, ScriptableContext<'treemap'>>,
dividerCapStyle?: string,
dividerColor?: string,
dividerDash?: number[],
dividerDashOffset?: number,
dividerWidth?: number,
font?: FontSpec,
groupDividers?: boolean,
groupLabels?: boolean,
spacing?: number,
rtl?: boolean,
backgroundColor?: Scriptable<Color, ScriptableContext<'treemap'>>;
borderColor?: Scriptable<Color, ScriptableContext<'treemap'>>;
borderWidth?: number;
hoverColor?: Scriptable<Color, ScriptableContext<'treemap'>>,
hoverFont?: FontSpec,
hoverBackgroundColor?: Scriptable<Color, ScriptableContext<'treemap'>>;
hoverBorderColor?: Scriptable<Color, ScriptableContext<'treemap'>>;
hoverBorderWidth?: number;
label?: Scriptable<string, ScriptableContext<'treemap'>>;
data: TreemapDataPoint[]; // This will be auto-generated from `tree`
groups?: Array<keyof DType>;
tree: number[] | DType[];
key?: keyof DType;
}
export interface TreemapDataPoint {
x: number,
y: number,
w: number,
h: number,
/**
* Value
*/
v: number,
/**
* Sum
*/
s: number,
/**
* Depth, only available if grouping
*/
l?: number,
/**
* Group name, only available if grouping
*/
g?: string,
/**
* Group Sum, only available if grouping
*/
gs?: number,
}
/*
export interface TreemapInteractionOptions {
position: Scriptable<"treemap", ScriptableTooltipContext<"treemap">>
}*/
declare module 'chart.js' {
export interface ChartTypeRegistry {
treemap: {
chartOptions: CoreChartOptions<'treemap'>;
datasetOptions: TreemapControllerDatasetOptions<Record<string, unknown>>;
defaultDataPoint: TreemapDataPoint;
metaExtensions: {};
parsedDataType: unknown,
scales: never;
}
}
// interface TooltipOptions<TType extends ChartType> extends CoreInteractionOptions, TreemapInteractionOptions {
// }
}
type TreemapOptions = {
backgroundColor: Color;
borderColor: Color;
borderWidth: number | { top?: number, right?: number, bottom?: number, left?: number }
}
type TreemapConfig = {
x: number;
y: number;
width: number;
height: number;
}
export type TreemapController = DatasetController;
export const TreemapController: ChartComponent & {
prototype: TreemapController;
new(chart: Chart, datasetIndex: number): TreemapController
};
export type TreemapElement = Element<TreemapConfig, TreemapOptions>;
export const TreemapElement: ChartComponent & {
prototype: TreemapElement;
new(cfg: TreemapConfig): TreemapElement
};