@nice2dev/ui-tools 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/access-control.d.ts +726 -0
- package/dist/access-control.d.ts.map +1 -0
- package/dist/accessibility-i18n.d.ts +1017 -0
- package/dist/accessibility-i18n.d.ts.map +1 -0
- package/dist/ai-assistant.d.ts +263 -0
- package/dist/ai-assistant.d.ts.map +1 -0
- package/dist/ai-playgrounds.d.ts +842 -0
- package/dist/ai-playgrounds.d.ts.map +1 -0
- package/dist/alerting-incidents.d.ts +558 -0
- package/dist/alerting-incidents.d.ts.map +1 -0
- package/dist/api-designer.d.ts +1568 -0
- package/dist/api-designer.d.ts.map +1 -0
- package/dist/api-testing.d.ts +1146 -0
- package/dist/api-testing.d.ts.map +1 -0
- package/dist/apm-profiling.d.ts +656 -0
- package/dist/apm-profiling.d.ts.map +1 -0
- package/dist/artifacts.d.ts +421 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/audit-compliance.d.ts +752 -0
- package/dist/audit-compliance.d.ts.map +1 -0
- package/dist/certificates.d.ts +256 -0
- package/dist/certificates.d.ts.map +1 -0
- package/dist/chart-builder.d.ts +1404 -0
- package/dist/chart-builder.d.ts.map +1 -0
- package/dist/cloud-instances.d.ts +169 -0
- package/dist/cloud-instances.d.ts.map +1 -0
- package/dist/config-management.d.ts +350 -0
- package/dist/config-management.d.ts.map +1 -0
- package/dist/containers.d.ts +256 -0
- package/dist/containers.d.ts.map +1 -0
- package/dist/dashboard-designer.d.ts +1238 -0
- package/dist/dashboard-designer.d.ts.map +1 -0
- package/dist/data-management.d.ts +496 -0
- package/dist/data-management.d.ts.map +1 -0
- package/dist/data-pipeline.d.ts +1105 -0
- package/dist/data-pipeline.d.ts.map +1 -0
- package/dist/data-warehouse.d.ts +1097 -0
- package/dist/data-warehouse.d.ts.map +1 -0
- package/dist/dataset-management.d.ts +782 -0
- package/dist/dataset-management.d.ts.map +1 -0
- package/dist/db-adapters.d.ts +704 -0
- package/dist/db-adapters.d.ts.map +1 -0
- package/dist/db-admin.d.ts +699 -0
- package/dist/db-admin.d.ts.map +1 -0
- package/dist/db-designer.d.ts +366 -0
- package/dist/db-designer.d.ts.map +1 -0
- package/dist/debugger.d.ts +356 -0
- package/dist/debugger.d.ts.map +1 -0
- package/dist/device-management.d.ts +871 -0
- package/dist/device-management.d.ts.map +1 -0
- package/dist/distributed-tracing.d.ts +427 -0
- package/dist/distributed-tracing.d.ts.map +1 -0
- package/dist/dns-management.d.ts +215 -0
- package/dist/dns-management.d.ts.map +1 -0
- package/dist/download-manager.d.ts +271 -0
- package/dist/download-manager.d.ts.map +1 -0
- package/dist/download-torrent.d.ts +1062 -0
- package/dist/download-torrent.d.ts.map +1 -0
- package/dist/edge-computing.d.ts +720 -0
- package/dist/edge-computing.d.ts.map +1 -0
- package/dist/education.d.ts +1135 -0
- package/dist/education.d.ts.map +1 -0
- package/dist/email-template.d.ts +1141 -0
- package/dist/email-template.d.ts.map +1 -0
- package/dist/erp-enterprise.d.ts +1270 -0
- package/dist/erp-enterprise.d.ts.map +1 -0
- package/dist/form-builder.d.ts +1117 -0
- package/dist/form-builder.d.ts.map +1 -0
- package/dist/game-engine-advanced.d.ts +1049 -0
- package/dist/game-engine-advanced.d.ts.map +1 -0
- package/dist/git.d.ts +415 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/hardware-integration.d.ts +966 -0
- package/dist/hardware-integration.d.ts.map +1 -0
- package/dist/iac.d.ts +318 -0
- package/dist/iac.d.ts.map +1 -0
- package/dist/icon-tools.d.ts +1023 -0
- package/dist/icon-tools.d.ts.map +1 -0
- package/dist/ide.d.ts +322 -0
- package/dist/ide.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +1887 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-platform.d.ts +857 -0
- package/dist/integration-platform.d.ts.map +1 -0
- package/dist/kubernetes.d.ts +278 -0
- package/dist/kubernetes.d.ts.map +1 -0
- package/dist/life-management.d.ts +1132 -0
- package/dist/life-management.d.ts.map +1 -0
- package/dist/log-management.d.ts +473 -0
- package/dist/log-management.d.ts.map +1 -0
- package/dist/mathematics.d.ts +870 -0
- package/dist/mathematics.d.ts.map +1 -0
- package/dist/message-queue.d.ts +1006 -0
- package/dist/message-queue.d.ts.map +1 -0
- package/dist/metrics-dashboard.d.ts +596 -0
- package/dist/metrics-dashboard.d.ts.map +1 -0
- package/dist/mobile-components.d.ts +766 -0
- package/dist/mobile-components.d.ts.map +1 -0
- package/dist/model-deployment.d.ts +787 -0
- package/dist/model-deployment.d.ts.map +1 -0
- package/dist/model-registry.d.ts +740 -0
- package/dist/model-registry.d.ts.map +1 -0
- package/dist/model-training.d.ts +706 -0
- package/dist/model-training.d.ts.map +1 -0
- package/dist/network-config.d.ts +334 -0
- package/dist/network-config.d.ts.map +1 -0
- package/dist/network-monitoring.d.ts +291 -0
- package/dist/network-monitoring.d.ts.map +1 -0
- package/dist/pdf-tools.d.ts +1003 -0
- package/dist/pdf-tools.d.ts.map +1 -0
- package/dist/pipelines.d.ts +250 -0
- package/dist/pipelines.d.ts.map +1 -0
- package/dist/remote-desktop.d.ts +207 -0
- package/dist/remote-desktop.d.ts.map +1 -0
- package/dist/report-designer.d.ts +1153 -0
- package/dist/report-designer.d.ts.map +1 -0
- package/dist/scada-industrial.d.ts +848 -0
- package/dist/scada-industrial.d.ts.map +1 -0
- package/dist/scientific-research.d.ts +1149 -0
- package/dist/scientific-research.d.ts.map +1 -0
- package/dist/secret-management.d.ts +617 -0
- package/dist/secret-management.d.ts.map +1 -0
- package/dist/security-scanning.d.ts +714 -0
- package/dist/security-scanning.d.ts.map +1 -0
- package/dist/self-service-analytics.d.ts +1208 -0
- package/dist/self-service-analytics.d.ts.map +1 -0
- package/dist/sensor-dashboard.d.ts +845 -0
- package/dist/sensor-dashboard.d.ts.map +1 -0
- package/dist/server-management.d.ts +331 -0
- package/dist/server-management.d.ts.map +1 -0
- package/dist/smart-home.d.ts +861 -0
- package/dist/smart-home.d.ts.map +1 -0
- package/dist/spreadsheet.d.ts +1043 -0
- package/dist/spreadsheet.d.ts.map +1 -0
- package/dist/sql-editor.d.ts +402 -0
- package/dist/sql-editor.d.ts.map +1 -0
- package/dist/terminal.d.ts +245 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/testing-qa.d.ts +1013 -0
- package/dist/testing-qa.d.ts.map +1 -0
- package/dist/torrent-client.d.ts +298 -0
- package/dist/torrent-client.d.ts.map +1 -0
- package/dist/traceless.d.ts +759 -0
- package/dist/traceless.d.ts.map +1 -0
- package/dist/virtual-machines.d.ts +199 -0
- package/dist/virtual-machines.d.ts.map +1 -0
- package/dist/visual-scripting.d.ts +381 -0
- package/dist/visual-scripting.d.ts.map +1 -0
- package/dist/word-processor.d.ts +1124 -0
- package/dist/word-processor.d.ts.map +1 -0
- package/dist/workspace.d.ts +333 -0
- package/dist/workspace.d.ts.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,1404 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file chart-builder.ts
|
|
3
|
+
* @module @nice2dev/ui-tools
|
|
4
|
+
* @description PRO-15.2 — Chart Builder
|
|
5
|
+
*
|
|
6
|
+
* Types for advanced chart builder: 50+ chart types, customization, interactivity,
|
|
7
|
+
* animation, trendlines, annotations, combo charts, geographic maps, sankey, treemaps.
|
|
8
|
+
*/
|
|
9
|
+
/** Primary chart type */
|
|
10
|
+
export type PrimaryChartType = 'line' | 'area' | 'bar' | 'column' | 'pie' | 'donut';
|
|
11
|
+
/** Advanced chart type */
|
|
12
|
+
export type AdvancedChartType = 'scatter' | 'bubble' | 'radar' | 'polar' | 'heatmap' | 'treemap' | 'sunburst' | 'sankey' | 'chord' | 'funnel' | 'pyramid' | 'waterfall' | 'boxplot' | 'violin' | 'candlestick' | 'ohlc' | 'histogram' | 'density' | 'pareto' | 'bullet' | 'gauge' | 'solidGauge' | 'speedometer';
|
|
13
|
+
/** Geographic chart type */
|
|
14
|
+
export type GeoChartType = 'choropleth' | 'bubbleMap' | 'heatMap' | 'flowMap' | 'connectionMap' | 'markerMap';
|
|
15
|
+
/** Statistical chart type */
|
|
16
|
+
export type StatisticalChartType = 'qqPlot' | 'correlationMatrix' | 'errorBar' | 'confidenceBand' | 'regressionLine';
|
|
17
|
+
/** Combined chart type */
|
|
18
|
+
export type CombinedChartType = PrimaryChartType | AdvancedChartType | GeoChartType | StatisticalChartType;
|
|
19
|
+
/** Chart builder configuration */
|
|
20
|
+
export interface ChartBuilderConfig {
|
|
21
|
+
/** Initial chart */
|
|
22
|
+
chart?: ChartDefinition;
|
|
23
|
+
/** Editor mode */
|
|
24
|
+
mode?: ChartEditorMode;
|
|
25
|
+
/** Theme */
|
|
26
|
+
theme?: ChartBuilderTheme;
|
|
27
|
+
/** Locale */
|
|
28
|
+
locale?: string;
|
|
29
|
+
/** Available chart types */
|
|
30
|
+
chartTypes?: CombinedChartType[];
|
|
31
|
+
/** Custom chart types */
|
|
32
|
+
customTypes?: CustomChartType[];
|
|
33
|
+
/** Data source */
|
|
34
|
+
dataSource?: ChartDataSource;
|
|
35
|
+
/** Enable preview */
|
|
36
|
+
preview?: boolean;
|
|
37
|
+
/** Enable code view */
|
|
38
|
+
codeView?: boolean;
|
|
39
|
+
/** Toolbar configuration */
|
|
40
|
+
toolbar?: ChartToolbarConfig;
|
|
41
|
+
/** Sidebar configuration */
|
|
42
|
+
sidebar?: ChartSidebarConfig;
|
|
43
|
+
/** Export options */
|
|
44
|
+
exportOptions?: ChartExportOptions;
|
|
45
|
+
/** Animation defaults */
|
|
46
|
+
animationDefaults?: ChartAnimationDefaults;
|
|
47
|
+
}
|
|
48
|
+
/** Chart editor mode */
|
|
49
|
+
export type ChartEditorMode = 'visual' | 'code' | 'split';
|
|
50
|
+
/** Chart builder theme */
|
|
51
|
+
export interface ChartBuilderTheme {
|
|
52
|
+
name?: string;
|
|
53
|
+
background?: string;
|
|
54
|
+
text?: string;
|
|
55
|
+
grid?: string;
|
|
56
|
+
axis?: string;
|
|
57
|
+
tooltip?: string;
|
|
58
|
+
legend?: string;
|
|
59
|
+
colorPalettes?: ColorPalette[];
|
|
60
|
+
defaultPalette?: string;
|
|
61
|
+
}
|
|
62
|
+
/** Color palette */
|
|
63
|
+
export interface ColorPalette {
|
|
64
|
+
id: string;
|
|
65
|
+
name: string;
|
|
66
|
+
colors: string[];
|
|
67
|
+
type?: 'categorical' | 'sequential' | 'diverging';
|
|
68
|
+
}
|
|
69
|
+
/** Custom chart type */
|
|
70
|
+
export interface CustomChartType {
|
|
71
|
+
id: string;
|
|
72
|
+
name: string;
|
|
73
|
+
icon?: string;
|
|
74
|
+
category?: string;
|
|
75
|
+
baseType?: CombinedChartType;
|
|
76
|
+
defaultConfig: Partial<ChartConfiguration>;
|
|
77
|
+
render?: (chart: ChartDefinition, container: unknown) => void;
|
|
78
|
+
}
|
|
79
|
+
/** Chart data source */
|
|
80
|
+
export interface ChartDataSource {
|
|
81
|
+
type: 'static' | 'api' | 'query' | 'stream';
|
|
82
|
+
data?: ChartDataPoint[];
|
|
83
|
+
apiConfig?: ChartApiConfig;
|
|
84
|
+
queryConfig?: ChartQueryConfig;
|
|
85
|
+
streamConfig?: ChartStreamConfig;
|
|
86
|
+
}
|
|
87
|
+
/** Chart data point */
|
|
88
|
+
export interface ChartDataPoint {
|
|
89
|
+
[key: string]: unknown;
|
|
90
|
+
}
|
|
91
|
+
/** Chart API config */
|
|
92
|
+
export interface ChartApiConfig {
|
|
93
|
+
url: string;
|
|
94
|
+
method?: 'GET' | 'POST';
|
|
95
|
+
headers?: Record<string, string>;
|
|
96
|
+
body?: unknown;
|
|
97
|
+
responseMapping?: ChartResponseMapping;
|
|
98
|
+
refreshInterval?: number;
|
|
99
|
+
}
|
|
100
|
+
/** Chart response mapping */
|
|
101
|
+
export interface ChartResponseMapping {
|
|
102
|
+
dataPath?: string;
|
|
103
|
+
seriesPath?: string;
|
|
104
|
+
categoriesPath?: string;
|
|
105
|
+
fieldMappings?: ChartFieldMapping[];
|
|
106
|
+
}
|
|
107
|
+
/** Chart field mapping */
|
|
108
|
+
export interface ChartFieldMapping {
|
|
109
|
+
source: string;
|
|
110
|
+
target: string;
|
|
111
|
+
type?: 'value' | 'category' | 'series' | 'label';
|
|
112
|
+
transform?: string;
|
|
113
|
+
}
|
|
114
|
+
/** Chart query config */
|
|
115
|
+
export interface ChartQueryConfig {
|
|
116
|
+
sourceId: string;
|
|
117
|
+
query: string;
|
|
118
|
+
parameters?: Record<string, unknown>;
|
|
119
|
+
}
|
|
120
|
+
/** Chart stream config */
|
|
121
|
+
export interface ChartStreamConfig {
|
|
122
|
+
type: 'websocket' | 'sse' | 'polling';
|
|
123
|
+
url: string;
|
|
124
|
+
reconnect?: boolean;
|
|
125
|
+
maxDataPoints?: number;
|
|
126
|
+
sliding?: boolean;
|
|
127
|
+
}
|
|
128
|
+
/** Chart toolbar configuration */
|
|
129
|
+
export interface ChartToolbarConfig {
|
|
130
|
+
visible?: boolean;
|
|
131
|
+
items?: ChartToolbarItem[];
|
|
132
|
+
customItems?: CustomChartToolbarItem[];
|
|
133
|
+
}
|
|
134
|
+
/** Chart toolbar item */
|
|
135
|
+
export type ChartToolbarItem = 'chartType' | 'save' | 'export' | 'undo' | 'redo' | 'preview' | 'fullscreen' | 'refresh' | 'settings' | 'annotations' | 'trendlines' | 'separator';
|
|
136
|
+
/** Custom chart toolbar item */
|
|
137
|
+
export interface CustomChartToolbarItem {
|
|
138
|
+
id: string;
|
|
139
|
+
label?: string;
|
|
140
|
+
icon?: string;
|
|
141
|
+
tooltip?: string;
|
|
142
|
+
handler: () => void;
|
|
143
|
+
disabled?: boolean;
|
|
144
|
+
position?: number;
|
|
145
|
+
}
|
|
146
|
+
/** Chart sidebar configuration */
|
|
147
|
+
export interface ChartSidebarConfig {
|
|
148
|
+
visible?: boolean;
|
|
149
|
+
position?: 'left' | 'right';
|
|
150
|
+
width?: number;
|
|
151
|
+
tabs?: ('data' | 'style' | 'axes' | 'legend' | 'tooltip' | 'animation' | 'advanced')[];
|
|
152
|
+
}
|
|
153
|
+
/** Chart export options */
|
|
154
|
+
export interface ChartExportOptions {
|
|
155
|
+
formats?: ChartExportFormat[];
|
|
156
|
+
scale?: number;
|
|
157
|
+
backgroundColor?: string;
|
|
158
|
+
width?: number;
|
|
159
|
+
height?: number;
|
|
160
|
+
}
|
|
161
|
+
/** Chart export format */
|
|
162
|
+
export type ChartExportFormat = 'png' | 'svg' | 'pdf' | 'jpeg' | 'webp' | 'json' | 'csv';
|
|
163
|
+
/** Chart animation defaults */
|
|
164
|
+
export interface ChartAnimationDefaults {
|
|
165
|
+
enabled?: boolean;
|
|
166
|
+
duration?: number;
|
|
167
|
+
easing?: ChartEasing;
|
|
168
|
+
delay?: number;
|
|
169
|
+
stagger?: boolean;
|
|
170
|
+
}
|
|
171
|
+
/** Chart easing */
|
|
172
|
+
export type ChartEasing = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'cubicIn' | 'cubicOut' | 'cubicInOut' | 'elasticIn' | 'elasticOut' | 'bounceIn' | 'bounceOut';
|
|
173
|
+
/** Chart definition */
|
|
174
|
+
export interface ChartDefinition {
|
|
175
|
+
id: string;
|
|
176
|
+
name?: string;
|
|
177
|
+
description?: string;
|
|
178
|
+
type: CombinedChartType;
|
|
179
|
+
data: ChartData;
|
|
180
|
+
config: ChartConfiguration;
|
|
181
|
+
metadata?: ChartMetadata;
|
|
182
|
+
}
|
|
183
|
+
/** Chart data */
|
|
184
|
+
export interface ChartData {
|
|
185
|
+
categories?: (string | number | Date)[];
|
|
186
|
+
series: ChartSeries[];
|
|
187
|
+
rawData?: ChartDataPoint[];
|
|
188
|
+
}
|
|
189
|
+
/** Chart series */
|
|
190
|
+
export interface ChartSeries {
|
|
191
|
+
id?: string;
|
|
192
|
+
name: string;
|
|
193
|
+
data: SeriesDataPoint[];
|
|
194
|
+
type?: CombinedChartType;
|
|
195
|
+
yAxisIndex?: number;
|
|
196
|
+
xAxisIndex?: number;
|
|
197
|
+
color?: string | ChartGradient;
|
|
198
|
+
visible?: boolean;
|
|
199
|
+
legendIndex?: number;
|
|
200
|
+
stack?: string;
|
|
201
|
+
zIndex?: number;
|
|
202
|
+
style?: SeriesStyle;
|
|
203
|
+
}
|
|
204
|
+
/** Series data point */
|
|
205
|
+
export interface SeriesDataPoint {
|
|
206
|
+
x?: string | number | Date;
|
|
207
|
+
y: number;
|
|
208
|
+
z?: number;
|
|
209
|
+
name?: string;
|
|
210
|
+
color?: string;
|
|
211
|
+
label?: string;
|
|
212
|
+
custom?: Record<string, unknown>;
|
|
213
|
+
}
|
|
214
|
+
/** Chart gradient */
|
|
215
|
+
export interface ChartGradient {
|
|
216
|
+
type: 'linear' | 'radial';
|
|
217
|
+
x1?: number;
|
|
218
|
+
y1?: number;
|
|
219
|
+
x2?: number;
|
|
220
|
+
y2?: number;
|
|
221
|
+
r?: number;
|
|
222
|
+
stops: ChartGradientStop[];
|
|
223
|
+
}
|
|
224
|
+
/** Chart gradient stop */
|
|
225
|
+
export interface ChartGradientStop {
|
|
226
|
+
offset: number;
|
|
227
|
+
color: string;
|
|
228
|
+
opacity?: number;
|
|
229
|
+
}
|
|
230
|
+
/** Series style */
|
|
231
|
+
export interface SeriesStyle {
|
|
232
|
+
lineWidth?: number;
|
|
233
|
+
lineStyle?: 'solid' | 'dashed' | 'dotted';
|
|
234
|
+
fillOpacity?: number;
|
|
235
|
+
markerEnabled?: boolean;
|
|
236
|
+
markerSize?: number;
|
|
237
|
+
markerShape?: MarkerShape;
|
|
238
|
+
markerBorderWidth?: number;
|
|
239
|
+
markerBorderColor?: string;
|
|
240
|
+
barWidth?: number | string;
|
|
241
|
+
barBorderRadius?: number | number[];
|
|
242
|
+
borderWidth?: number;
|
|
243
|
+
borderColor?: string;
|
|
244
|
+
}
|
|
245
|
+
/** Marker shape */
|
|
246
|
+
export type MarkerShape = 'circle' | 'square' | 'diamond' | 'triangle' | 'triangleDown' | 'cross' | 'plus' | 'star' | 'pentagon' | 'hexagon';
|
|
247
|
+
/** Chart configuration */
|
|
248
|
+
export interface ChartConfiguration {
|
|
249
|
+
title?: ChartTitle;
|
|
250
|
+
subtitle?: ChartSubtitle;
|
|
251
|
+
xAxis?: ChartAxis | ChartAxis[];
|
|
252
|
+
yAxis?: ChartAxis | ChartAxis[];
|
|
253
|
+
zAxis?: ChartAxis;
|
|
254
|
+
legend?: ChartLegend;
|
|
255
|
+
tooltip?: ChartTooltip;
|
|
256
|
+
grid?: ChartGrid;
|
|
257
|
+
colors?: string[];
|
|
258
|
+
colorPalette?: string;
|
|
259
|
+
animation?: ChartAnimation;
|
|
260
|
+
interaction?: ChartInteraction;
|
|
261
|
+
accessibility?: ChartAccessibility;
|
|
262
|
+
annotations?: ChartAnnotation[];
|
|
263
|
+
trendlines?: ChartTrendline[];
|
|
264
|
+
thresholds?: ChartThreshold[];
|
|
265
|
+
plotBands?: PlotBand[];
|
|
266
|
+
plotLines?: PlotLine[];
|
|
267
|
+
responsive?: ResponsiveConfig[];
|
|
268
|
+
typeSpecific?: TypeSpecificConfig;
|
|
269
|
+
}
|
|
270
|
+
/** Chart title */
|
|
271
|
+
export interface ChartTitle {
|
|
272
|
+
text?: string;
|
|
273
|
+
show?: boolean;
|
|
274
|
+
align?: 'left' | 'center' | 'right';
|
|
275
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
276
|
+
x?: number;
|
|
277
|
+
y?: number;
|
|
278
|
+
style?: ChartTextStyle;
|
|
279
|
+
floating?: boolean;
|
|
280
|
+
}
|
|
281
|
+
/** Chart subtitle */
|
|
282
|
+
export interface ChartSubtitle {
|
|
283
|
+
text?: string;
|
|
284
|
+
show?: boolean;
|
|
285
|
+
align?: 'left' | 'center' | 'right';
|
|
286
|
+
x?: number;
|
|
287
|
+
y?: number;
|
|
288
|
+
style?: ChartTextStyle;
|
|
289
|
+
}
|
|
290
|
+
/** Chart text style */
|
|
291
|
+
export interface ChartTextStyle {
|
|
292
|
+
color?: string;
|
|
293
|
+
fontSize?: number;
|
|
294
|
+
fontWeight?: string | number;
|
|
295
|
+
fontFamily?: string;
|
|
296
|
+
fontStyle?: 'normal' | 'italic';
|
|
297
|
+
textDecoration?: string;
|
|
298
|
+
textShadow?: string;
|
|
299
|
+
letterSpacing?: number;
|
|
300
|
+
lineHeight?: number;
|
|
301
|
+
}
|
|
302
|
+
/** Chart axis */
|
|
303
|
+
export interface ChartAxis {
|
|
304
|
+
id?: string;
|
|
305
|
+
show?: boolean;
|
|
306
|
+
type?: 'category' | 'value' | 'time' | 'log';
|
|
307
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
308
|
+
opposite?: boolean;
|
|
309
|
+
offset?: number;
|
|
310
|
+
name?: string;
|
|
311
|
+
nameLocation?: 'start' | 'middle' | 'end';
|
|
312
|
+
nameGap?: number;
|
|
313
|
+
nameRotate?: number;
|
|
314
|
+
nameStyle?: ChartTextStyle;
|
|
315
|
+
min?: number | 'auto' | 'dataMin';
|
|
316
|
+
max?: number | 'auto' | 'dataMax';
|
|
317
|
+
softMin?: number;
|
|
318
|
+
softMax?: number;
|
|
319
|
+
range?: [number, number];
|
|
320
|
+
categories?: (string | number)[];
|
|
321
|
+
reversed?: boolean;
|
|
322
|
+
logarithmic?: boolean;
|
|
323
|
+
logBase?: number;
|
|
324
|
+
tickCount?: number;
|
|
325
|
+
tickInterval?: number;
|
|
326
|
+
tickPositions?: number[];
|
|
327
|
+
minTickInterval?: number;
|
|
328
|
+
axisLine?: AxisLineConfig;
|
|
329
|
+
axisTick?: AxisTickConfig;
|
|
330
|
+
axisLabel?: AxisLabelConfig;
|
|
331
|
+
splitLine?: SplitLineConfig;
|
|
332
|
+
splitArea?: SplitAreaConfig;
|
|
333
|
+
minorTick?: MinorTickConfig;
|
|
334
|
+
minorSplitLine?: SplitLineConfig;
|
|
335
|
+
alignTicks?: boolean;
|
|
336
|
+
scale?: boolean;
|
|
337
|
+
boundaryGap?: boolean | [string, string];
|
|
338
|
+
plotBands?: PlotBand[];
|
|
339
|
+
plotLines?: PlotLine[];
|
|
340
|
+
}
|
|
341
|
+
/** Axis line config */
|
|
342
|
+
export interface AxisLineConfig {
|
|
343
|
+
show?: boolean;
|
|
344
|
+
onZero?: boolean;
|
|
345
|
+
color?: string;
|
|
346
|
+
width?: number;
|
|
347
|
+
type?: 'solid' | 'dashed' | 'dotted';
|
|
348
|
+
symbol?: string | [string, string];
|
|
349
|
+
symbolSize?: number[];
|
|
350
|
+
symbolOffset?: number[];
|
|
351
|
+
}
|
|
352
|
+
/** Axis tick config */
|
|
353
|
+
export interface AxisTickConfig {
|
|
354
|
+
show?: boolean;
|
|
355
|
+
alignWithLabel?: boolean;
|
|
356
|
+
inside?: boolean;
|
|
357
|
+
length?: number;
|
|
358
|
+
color?: string;
|
|
359
|
+
width?: number;
|
|
360
|
+
}
|
|
361
|
+
/** Axis label config */
|
|
362
|
+
export interface AxisLabelConfig {
|
|
363
|
+
show?: boolean;
|
|
364
|
+
inside?: boolean;
|
|
365
|
+
rotate?: number;
|
|
366
|
+
margin?: number;
|
|
367
|
+
formatter?: string | ((value: unknown, index: number) => string);
|
|
368
|
+
showMinLabel?: boolean;
|
|
369
|
+
showMaxLabel?: boolean;
|
|
370
|
+
style?: ChartTextStyle;
|
|
371
|
+
interval?: number | 'auto';
|
|
372
|
+
align?: 'left' | 'center' | 'right';
|
|
373
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
374
|
+
overflow?: 'truncate' | 'break' | 'breakAll' | 'none';
|
|
375
|
+
width?: number;
|
|
376
|
+
rich?: Record<string, ChartTextStyle>;
|
|
377
|
+
}
|
|
378
|
+
/** Split line config */
|
|
379
|
+
export interface SplitLineConfig {
|
|
380
|
+
show?: boolean;
|
|
381
|
+
color?: string | string[];
|
|
382
|
+
width?: number;
|
|
383
|
+
type?: 'solid' | 'dashed' | 'dotted';
|
|
384
|
+
interval?: number | 'auto';
|
|
385
|
+
}
|
|
386
|
+
/** Split area config */
|
|
387
|
+
export interface SplitAreaConfig {
|
|
388
|
+
show?: boolean;
|
|
389
|
+
colors?: string[];
|
|
390
|
+
opacity?: number;
|
|
391
|
+
interval?: number | 'auto';
|
|
392
|
+
}
|
|
393
|
+
/** Minor tick config */
|
|
394
|
+
export interface MinorTickConfig {
|
|
395
|
+
show?: boolean;
|
|
396
|
+
count?: number;
|
|
397
|
+
length?: number;
|
|
398
|
+
color?: string;
|
|
399
|
+
width?: number;
|
|
400
|
+
}
|
|
401
|
+
/** Plot band */
|
|
402
|
+
export interface PlotBand {
|
|
403
|
+
from: number | string | Date;
|
|
404
|
+
to: number | string | Date;
|
|
405
|
+
color?: string;
|
|
406
|
+
opacity?: number;
|
|
407
|
+
label?: PlotBandLabel;
|
|
408
|
+
zIndex?: number;
|
|
409
|
+
}
|
|
410
|
+
/** Plot band label */
|
|
411
|
+
export interface PlotBandLabel {
|
|
412
|
+
text: string;
|
|
413
|
+
align?: 'left' | 'center' | 'right';
|
|
414
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
415
|
+
rotation?: number;
|
|
416
|
+
style?: ChartTextStyle;
|
|
417
|
+
x?: number;
|
|
418
|
+
y?: number;
|
|
419
|
+
}
|
|
420
|
+
/** Plot line */
|
|
421
|
+
export interface PlotLine {
|
|
422
|
+
value: number | string | Date;
|
|
423
|
+
color?: string;
|
|
424
|
+
width?: number;
|
|
425
|
+
dashStyle?: 'solid' | 'dashed' | 'dotted';
|
|
426
|
+
label?: PlotBandLabel;
|
|
427
|
+
zIndex?: number;
|
|
428
|
+
}
|
|
429
|
+
/** Chart legend */
|
|
430
|
+
export interface ChartLegend {
|
|
431
|
+
show?: boolean;
|
|
432
|
+
type?: 'plain' | 'scroll';
|
|
433
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
434
|
+
orient?: 'horizontal' | 'vertical';
|
|
435
|
+
align?: 'auto' | 'left' | 'right';
|
|
436
|
+
padding?: number | number[];
|
|
437
|
+
itemGap?: number;
|
|
438
|
+
itemWidth?: number;
|
|
439
|
+
itemHeight?: number;
|
|
440
|
+
formatter?: string | ((name: string) => string);
|
|
441
|
+
selectedMode?: boolean | 'single' | 'multiple';
|
|
442
|
+
inactiveColor?: string;
|
|
443
|
+
selected?: Record<string, boolean>;
|
|
444
|
+
textStyle?: ChartTextStyle;
|
|
445
|
+
icon?: string;
|
|
446
|
+
backgroundColor?: string;
|
|
447
|
+
borderColor?: string;
|
|
448
|
+
borderWidth?: number;
|
|
449
|
+
borderRadius?: number;
|
|
450
|
+
shadowBlur?: number;
|
|
451
|
+
shadowColor?: string;
|
|
452
|
+
scrollDataIndex?: number;
|
|
453
|
+
pageButtonItemGap?: number;
|
|
454
|
+
pageButtonPosition?: 'start' | 'end';
|
|
455
|
+
pageTextStyle?: ChartTextStyle;
|
|
456
|
+
}
|
|
457
|
+
/** Chart tooltip */
|
|
458
|
+
export interface ChartTooltip {
|
|
459
|
+
show?: boolean;
|
|
460
|
+
trigger?: 'item' | 'axis' | 'none';
|
|
461
|
+
triggerOn?: 'mousemove' | 'click' | 'mousemove|click' | 'none';
|
|
462
|
+
alwaysShowContent?: boolean;
|
|
463
|
+
showDelay?: number;
|
|
464
|
+
hideDelay?: number;
|
|
465
|
+
enterable?: boolean;
|
|
466
|
+
confine?: boolean;
|
|
467
|
+
appendToBody?: boolean;
|
|
468
|
+
transitionDuration?: number;
|
|
469
|
+
position?: TooltipPosition;
|
|
470
|
+
formatter?: string | ((params: unknown) => string);
|
|
471
|
+
valueFormatter?: (value: unknown) => string;
|
|
472
|
+
backgroundColor?: string;
|
|
473
|
+
borderColor?: string;
|
|
474
|
+
borderWidth?: number;
|
|
475
|
+
borderRadius?: number;
|
|
476
|
+
padding?: number | number[];
|
|
477
|
+
textStyle?: ChartTextStyle;
|
|
478
|
+
extraCssText?: string;
|
|
479
|
+
axisPointer?: AxisPointer;
|
|
480
|
+
order?: 'seriesAsc' | 'seriesDesc' | 'valueAsc' | 'valueDesc';
|
|
481
|
+
}
|
|
482
|
+
/** Tooltip position */
|
|
483
|
+
export type TooltipPosition = 'inside' | 'top' | 'left' | 'right' | 'bottom' | [number, number] | [string, string] | ((point: [number, number], params: unknown, dom: unknown, rect: unknown, size: unknown) => [number, number] | Record<string, number>);
|
|
484
|
+
/** Axis pointer */
|
|
485
|
+
export interface AxisPointer {
|
|
486
|
+
show?: boolean;
|
|
487
|
+
type?: 'line' | 'shadow' | 'cross' | 'none';
|
|
488
|
+
snap?: boolean;
|
|
489
|
+
z?: number;
|
|
490
|
+
label?: AxisPointerLabel;
|
|
491
|
+
lineStyle?: PointerLineStyle;
|
|
492
|
+
shadowStyle?: PointerShadowStyle;
|
|
493
|
+
crossStyle?: PointerLineStyle;
|
|
494
|
+
animation?: boolean;
|
|
495
|
+
animationDuration?: number;
|
|
496
|
+
animationEasing?: ChartEasing;
|
|
497
|
+
}
|
|
498
|
+
/** Axis pointer label */
|
|
499
|
+
export interface AxisPointerLabel {
|
|
500
|
+
show?: boolean;
|
|
501
|
+
precision?: number | 'auto';
|
|
502
|
+
formatter?: string | ((params: unknown) => string);
|
|
503
|
+
margin?: number;
|
|
504
|
+
backgroundColor?: string;
|
|
505
|
+
borderColor?: string;
|
|
506
|
+
borderWidth?: number;
|
|
507
|
+
shadowBlur?: number;
|
|
508
|
+
shadowColor?: string;
|
|
509
|
+
textStyle?: ChartTextStyle;
|
|
510
|
+
padding?: number | number[];
|
|
511
|
+
}
|
|
512
|
+
/** Pointer line style */
|
|
513
|
+
export interface PointerLineStyle {
|
|
514
|
+
color?: string;
|
|
515
|
+
width?: number;
|
|
516
|
+
type?: 'solid' | 'dashed' | 'dotted';
|
|
517
|
+
opacity?: number;
|
|
518
|
+
}
|
|
519
|
+
/** Pointer shadow style */
|
|
520
|
+
export interface PointerShadowStyle {
|
|
521
|
+
color?: string;
|
|
522
|
+
opacity?: number;
|
|
523
|
+
}
|
|
524
|
+
/** Chart grid */
|
|
525
|
+
export interface ChartGrid {
|
|
526
|
+
show?: boolean;
|
|
527
|
+
left?: number | string;
|
|
528
|
+
right?: number | string;
|
|
529
|
+
top?: number | string;
|
|
530
|
+
bottom?: number | string;
|
|
531
|
+
width?: number | string;
|
|
532
|
+
height?: number | string;
|
|
533
|
+
containLabel?: boolean;
|
|
534
|
+
backgroundColor?: string;
|
|
535
|
+
borderColor?: string;
|
|
536
|
+
borderWidth?: number;
|
|
537
|
+
shadowBlur?: number;
|
|
538
|
+
shadowColor?: string;
|
|
539
|
+
shadowOffsetX?: number;
|
|
540
|
+
shadowOffsetY?: number;
|
|
541
|
+
}
|
|
542
|
+
/** Chart animation */
|
|
543
|
+
export interface ChartAnimation {
|
|
544
|
+
enabled?: boolean;
|
|
545
|
+
duration?: number;
|
|
546
|
+
easing?: ChartEasing;
|
|
547
|
+
delay?: number | ((idx: number) => number);
|
|
548
|
+
threshold?: number;
|
|
549
|
+
update?: UpdateAnimation;
|
|
550
|
+
enter?: EnterExitAnimation;
|
|
551
|
+
exit?: EnterExitAnimation;
|
|
552
|
+
}
|
|
553
|
+
/** Update animation */
|
|
554
|
+
export interface UpdateAnimation {
|
|
555
|
+
duration?: number;
|
|
556
|
+
easing?: ChartEasing;
|
|
557
|
+
delay?: number | ((idx: number) => number);
|
|
558
|
+
}
|
|
559
|
+
/** Enter/Exit animation */
|
|
560
|
+
export interface EnterExitAnimation {
|
|
561
|
+
duration?: number;
|
|
562
|
+
easing?: ChartEasing;
|
|
563
|
+
type?: 'fade' | 'scale' | 'slide' | 'expand';
|
|
564
|
+
}
|
|
565
|
+
/** Chart interaction */
|
|
566
|
+
export interface ChartInteraction {
|
|
567
|
+
zoom?: ChartZoom;
|
|
568
|
+
pan?: ChartPan;
|
|
569
|
+
brush?: ChartBrush;
|
|
570
|
+
cursor?: string;
|
|
571
|
+
hoverMode?: 'single' | 'series' | 'dataset';
|
|
572
|
+
activeOpacity?: number;
|
|
573
|
+
inactiveOpacity?: number;
|
|
574
|
+
dataPointClick?: boolean;
|
|
575
|
+
seriesClick?: boolean;
|
|
576
|
+
legendClick?: boolean;
|
|
577
|
+
contextMenu?: ChartContextMenu;
|
|
578
|
+
}
|
|
579
|
+
/** Chart zoom */
|
|
580
|
+
export interface ChartZoom {
|
|
581
|
+
enabled?: boolean;
|
|
582
|
+
type?: 'x' | 'y' | 'xy';
|
|
583
|
+
wheel?: boolean;
|
|
584
|
+
drag?: boolean;
|
|
585
|
+
pinch?: boolean;
|
|
586
|
+
resetButton?: boolean;
|
|
587
|
+
minSpan?: number;
|
|
588
|
+
maxSpan?: number;
|
|
589
|
+
}
|
|
590
|
+
/** Chart pan */
|
|
591
|
+
export interface ChartPan {
|
|
592
|
+
enabled?: boolean;
|
|
593
|
+
mode?: 'x' | 'y' | 'xy';
|
|
594
|
+
}
|
|
595
|
+
/** Chart brush */
|
|
596
|
+
export interface ChartBrush {
|
|
597
|
+
enabled?: boolean;
|
|
598
|
+
type?: ('rect' | 'polygon' | 'lineX' | 'lineY' | 'keep' | 'clear')[];
|
|
599
|
+
mode?: 'single' | 'multiple';
|
|
600
|
+
transformable?: boolean;
|
|
601
|
+
brushStyle?: BrushStyle;
|
|
602
|
+
throttleType?: 'debounce' | 'fixRate';
|
|
603
|
+
throttleDelay?: number;
|
|
604
|
+
}
|
|
605
|
+
/** Brush style */
|
|
606
|
+
export interface BrushStyle {
|
|
607
|
+
color?: string;
|
|
608
|
+
borderWidth?: number;
|
|
609
|
+
borderColor?: string;
|
|
610
|
+
}
|
|
611
|
+
/** Chart context menu */
|
|
612
|
+
export interface ChartContextMenu {
|
|
613
|
+
enabled?: boolean;
|
|
614
|
+
items?: ContextMenuItem[];
|
|
615
|
+
}
|
|
616
|
+
/** Context menu item */
|
|
617
|
+
export interface ContextMenuItem {
|
|
618
|
+
id: string;
|
|
619
|
+
label: string;
|
|
620
|
+
icon?: string;
|
|
621
|
+
disabled?: boolean;
|
|
622
|
+
handler: (params: unknown) => void;
|
|
623
|
+
submenu?: ContextMenuItem[];
|
|
624
|
+
}
|
|
625
|
+
/** Chart accessibility */
|
|
626
|
+
export interface ChartAccessibility {
|
|
627
|
+
enabled?: boolean;
|
|
628
|
+
description?: string;
|
|
629
|
+
announceNewData?: boolean;
|
|
630
|
+
landmarkVerbosity?: 'all' | 'one' | 'disabled';
|
|
631
|
+
keyboardNavigation?: KeyboardNavigation;
|
|
632
|
+
screenReaderSection?: ScreenReaderSection;
|
|
633
|
+
point?: AccessibilityPointConfig;
|
|
634
|
+
series?: AccessibilitySeriesConfig;
|
|
635
|
+
}
|
|
636
|
+
/** Keyboard navigation */
|
|
637
|
+
export interface KeyboardNavigation {
|
|
638
|
+
enabled?: boolean;
|
|
639
|
+
focusBorder?: FocusBorder;
|
|
640
|
+
order?: string[];
|
|
641
|
+
}
|
|
642
|
+
/** Focus border */
|
|
643
|
+
export interface FocusBorder {
|
|
644
|
+
enabled?: boolean;
|
|
645
|
+
style?: {
|
|
646
|
+
color?: string;
|
|
647
|
+
width?: number;
|
|
648
|
+
borderRadius?: number;
|
|
649
|
+
};
|
|
650
|
+
margin?: number;
|
|
651
|
+
}
|
|
652
|
+
/** Screen reader section */
|
|
653
|
+
export interface ScreenReaderSection {
|
|
654
|
+
beforeChartFormat?: string;
|
|
655
|
+
afterChartFormat?: string;
|
|
656
|
+
}
|
|
657
|
+
/** Accessibility point config */
|
|
658
|
+
export interface AccessibilityPointConfig {
|
|
659
|
+
descriptionFormat?: string;
|
|
660
|
+
valueDescriptionFormat?: string;
|
|
661
|
+
dateFormat?: string;
|
|
662
|
+
}
|
|
663
|
+
/** Accessibility series config */
|
|
664
|
+
export interface AccessibilitySeriesConfig {
|
|
665
|
+
descriptionFormat?: string;
|
|
666
|
+
}
|
|
667
|
+
/** Chart metadata */
|
|
668
|
+
export interface ChartMetadata {
|
|
669
|
+
created?: Date;
|
|
670
|
+
createdBy?: string;
|
|
671
|
+
modified?: Date;
|
|
672
|
+
modifiedBy?: string;
|
|
673
|
+
version?: string;
|
|
674
|
+
tags?: string[];
|
|
675
|
+
category?: string;
|
|
676
|
+
}
|
|
677
|
+
/** Chart annotation */
|
|
678
|
+
export interface ChartAnnotation {
|
|
679
|
+
id: string;
|
|
680
|
+
type: AnnotationType;
|
|
681
|
+
position: AnnotationPosition;
|
|
682
|
+
content?: string;
|
|
683
|
+
style?: AnnotationStyle;
|
|
684
|
+
draggable?: boolean;
|
|
685
|
+
visible?: boolean;
|
|
686
|
+
labels?: AnnotationLabel[];
|
|
687
|
+
shapes?: AnnotationShape[];
|
|
688
|
+
}
|
|
689
|
+
/** Annotation type */
|
|
690
|
+
export type AnnotationType = 'text' | 'line' | 'rect' | 'circle' | 'polygon' | 'arrow' | 'callout' | 'image' | 'custom';
|
|
691
|
+
/** Annotation position */
|
|
692
|
+
export interface AnnotationPosition {
|
|
693
|
+
x?: number | string | 'min' | 'max' | 'center';
|
|
694
|
+
y?: number | string | 'min' | 'max' | 'center';
|
|
695
|
+
xAxis?: number;
|
|
696
|
+
yAxis?: number;
|
|
697
|
+
x2?: number | string;
|
|
698
|
+
y2?: number | string;
|
|
699
|
+
points?: [number | string, number | string][];
|
|
700
|
+
}
|
|
701
|
+
/** Annotation style */
|
|
702
|
+
export interface AnnotationStyle {
|
|
703
|
+
fill?: string;
|
|
704
|
+
stroke?: string;
|
|
705
|
+
strokeWidth?: number;
|
|
706
|
+
opacity?: number;
|
|
707
|
+
fontSize?: number;
|
|
708
|
+
fontFamily?: string;
|
|
709
|
+
fontWeight?: string | number;
|
|
710
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
711
|
+
textBaseline?: 'top' | 'middle' | 'bottom';
|
|
712
|
+
rotation?: number;
|
|
713
|
+
offsetX?: number;
|
|
714
|
+
offsetY?: number;
|
|
715
|
+
}
|
|
716
|
+
/** Annotation label */
|
|
717
|
+
export interface AnnotationLabel {
|
|
718
|
+
text: string;
|
|
719
|
+
position?: AnnotationLabelPosition;
|
|
720
|
+
backgroundColor?: string;
|
|
721
|
+
borderColor?: string;
|
|
722
|
+
borderWidth?: number;
|
|
723
|
+
borderRadius?: number;
|
|
724
|
+
padding?: number | number[];
|
|
725
|
+
style?: ChartTextStyle;
|
|
726
|
+
}
|
|
727
|
+
/** Annotation label position */
|
|
728
|
+
export type AnnotationLabelPosition = 'start' | 'center' | 'end' | 'top' | 'bottom' | 'left' | 'right' | 'insideStart' | 'insideEnd';
|
|
729
|
+
/** Annotation shape */
|
|
730
|
+
export interface AnnotationShape {
|
|
731
|
+
type: 'line' | 'rect' | 'circle' | 'polygon' | 'path';
|
|
732
|
+
fill?: string;
|
|
733
|
+
stroke?: string;
|
|
734
|
+
strokeWidth?: number;
|
|
735
|
+
opacity?: number;
|
|
736
|
+
coordinates?: unknown;
|
|
737
|
+
}
|
|
738
|
+
/** Chart trendline */
|
|
739
|
+
export interface ChartTrendline {
|
|
740
|
+
id: string;
|
|
741
|
+
seriesIndex?: number;
|
|
742
|
+
type: TrendlineType;
|
|
743
|
+
order?: number;
|
|
744
|
+
period?: number;
|
|
745
|
+
forwardForecast?: number;
|
|
746
|
+
backwardForecast?: number;
|
|
747
|
+
color?: string;
|
|
748
|
+
width?: number;
|
|
749
|
+
dashStyle?: 'solid' | 'dashed' | 'dotted';
|
|
750
|
+
label?: TrendlineLabel;
|
|
751
|
+
equation?: boolean;
|
|
752
|
+
rSquared?: boolean;
|
|
753
|
+
}
|
|
754
|
+
/** Trendline type */
|
|
755
|
+
export type TrendlineType = 'linear' | 'exponential' | 'logarithmic' | 'polynomial' | 'power' | 'movingAverage' | 'weightedMovingAverage' | 'exponentialMovingAverage';
|
|
756
|
+
/** Trendline label */
|
|
757
|
+
export interface TrendlineLabel {
|
|
758
|
+
show?: boolean;
|
|
759
|
+
text?: string;
|
|
760
|
+
position?: 'start' | 'center' | 'end';
|
|
761
|
+
style?: ChartTextStyle;
|
|
762
|
+
showEquation?: boolean;
|
|
763
|
+
showRSquared?: boolean;
|
|
764
|
+
}
|
|
765
|
+
/** Chart threshold */
|
|
766
|
+
export interface ChartThreshold {
|
|
767
|
+
id: string;
|
|
768
|
+
value: number;
|
|
769
|
+
label?: string;
|
|
770
|
+
color?: string;
|
|
771
|
+
width?: number;
|
|
772
|
+
dashStyle?: 'solid' | 'dashed' | 'dotted';
|
|
773
|
+
fill?: ThresholdFill;
|
|
774
|
+
labelStyle?: ThresholdLabelStyle;
|
|
775
|
+
}
|
|
776
|
+
/** Threshold fill */
|
|
777
|
+
export interface ThresholdFill {
|
|
778
|
+
above?: string;
|
|
779
|
+
below?: string;
|
|
780
|
+
opacity?: number;
|
|
781
|
+
}
|
|
782
|
+
/** Threshold label style */
|
|
783
|
+
export interface ThresholdLabelStyle {
|
|
784
|
+
position?: 'start' | 'center' | 'end';
|
|
785
|
+
align?: 'left' | 'center' | 'right';
|
|
786
|
+
style?: ChartTextStyle;
|
|
787
|
+
backgroundColor?: string;
|
|
788
|
+
padding?: number | number[];
|
|
789
|
+
borderRadius?: number;
|
|
790
|
+
}
|
|
791
|
+
/** Type specific config */
|
|
792
|
+
export type TypeSpecificConfig = PieChartConfig | RadarChartConfig | TreemapConfig | SunburstConfig | SankeyConfig | ChordConfig | FunnelConfig | GaugeConfig | HeatmapChartConfig | BoxplotConfig | CandlestickConfig | MapChartConfig | ParallelConfig;
|
|
793
|
+
/** Pie chart config */
|
|
794
|
+
export interface PieChartConfig {
|
|
795
|
+
radius?: string | number | [string | number, string | number];
|
|
796
|
+
center?: [string | number, string | number];
|
|
797
|
+
startAngle?: number;
|
|
798
|
+
endAngle?: number;
|
|
799
|
+
clockwise?: boolean;
|
|
800
|
+
minAngle?: number;
|
|
801
|
+
minShowLabelAngle?: number;
|
|
802
|
+
roseType?: false | 'radius' | 'area';
|
|
803
|
+
avoidLabelOverlap?: boolean;
|
|
804
|
+
stillShowZeroSum?: boolean;
|
|
805
|
+
percentPrecision?: number;
|
|
806
|
+
padAngle?: number;
|
|
807
|
+
borderRadius?: number;
|
|
808
|
+
itemStyle?: PieItemStyle;
|
|
809
|
+
label?: PieLabel;
|
|
810
|
+
labelLine?: PieLabelLine;
|
|
811
|
+
emphasis?: PieEmphasis;
|
|
812
|
+
}
|
|
813
|
+
/** Pie item style */
|
|
814
|
+
export interface PieItemStyle {
|
|
815
|
+
borderRadius?: number | number[];
|
|
816
|
+
borderColor?: string;
|
|
817
|
+
borderWidth?: number;
|
|
818
|
+
shadowBlur?: number;
|
|
819
|
+
shadowColor?: string;
|
|
820
|
+
shadowOffsetX?: number;
|
|
821
|
+
shadowOffsetY?: number;
|
|
822
|
+
}
|
|
823
|
+
/** Pie label */
|
|
824
|
+
export interface PieLabel {
|
|
825
|
+
show?: boolean;
|
|
826
|
+
position?: 'outside' | 'inside' | 'center';
|
|
827
|
+
formatter?: string | ((params: unknown) => string);
|
|
828
|
+
alignTo?: 'none' | 'labelLine' | 'edge';
|
|
829
|
+
edgeDistance?: string | number;
|
|
830
|
+
bleedMargin?: number;
|
|
831
|
+
distanceToLabelLine?: number;
|
|
832
|
+
style?: ChartTextStyle;
|
|
833
|
+
}
|
|
834
|
+
/** Pie label line */
|
|
835
|
+
export interface PieLabelLine {
|
|
836
|
+
show?: boolean;
|
|
837
|
+
showAbove?: boolean;
|
|
838
|
+
length?: number;
|
|
839
|
+
length2?: number;
|
|
840
|
+
smooth?: boolean | number;
|
|
841
|
+
minTurnAngle?: number;
|
|
842
|
+
maxSurfaceAngle?: number;
|
|
843
|
+
lineStyle?: PointerLineStyle;
|
|
844
|
+
}
|
|
845
|
+
/** Pie emphasis */
|
|
846
|
+
export interface PieEmphasis {
|
|
847
|
+
scale?: boolean;
|
|
848
|
+
scaleSize?: number;
|
|
849
|
+
focus?: 'none' | 'self' | 'series' | 'ancestor' | 'descendant';
|
|
850
|
+
blurScope?: 'coordinateSystem' | 'series' | 'global';
|
|
851
|
+
itemStyle?: PieItemStyle;
|
|
852
|
+
label?: PieLabel;
|
|
853
|
+
labelLine?: PieLabelLine;
|
|
854
|
+
}
|
|
855
|
+
/** Radar chart config */
|
|
856
|
+
export interface RadarChartConfig {
|
|
857
|
+
shape?: 'polygon' | 'circle';
|
|
858
|
+
center?: [string | number, string | number];
|
|
859
|
+
radius?: string | number | (string | number)[];
|
|
860
|
+
startAngle?: number;
|
|
861
|
+
axisName?: AxisNameConfig;
|
|
862
|
+
axisNameGap?: number;
|
|
863
|
+
splitNumber?: number;
|
|
864
|
+
splitArea?: SplitAreaConfig;
|
|
865
|
+
splitLine?: SplitLineConfig;
|
|
866
|
+
indicator: RadarIndicator[];
|
|
867
|
+
}
|
|
868
|
+
/** Axis name config */
|
|
869
|
+
export interface AxisNameConfig {
|
|
870
|
+
show?: boolean;
|
|
871
|
+
formatter?: string | ((name: string) => string);
|
|
872
|
+
style?: ChartTextStyle;
|
|
873
|
+
}
|
|
874
|
+
/** Radar indicator */
|
|
875
|
+
export interface RadarIndicator {
|
|
876
|
+
name: string;
|
|
877
|
+
max?: number;
|
|
878
|
+
min?: number;
|
|
879
|
+
color?: string;
|
|
880
|
+
}
|
|
881
|
+
/** Treemap config */
|
|
882
|
+
export interface TreemapConfig {
|
|
883
|
+
width?: string | number;
|
|
884
|
+
height?: string | number;
|
|
885
|
+
left?: string | number;
|
|
886
|
+
top?: string | number;
|
|
887
|
+
right?: string | number;
|
|
888
|
+
bottom?: string | number;
|
|
889
|
+
squareRatio?: number;
|
|
890
|
+
leafDepth?: number;
|
|
891
|
+
drillDownIcon?: string;
|
|
892
|
+
roam?: boolean | 'scale' | 'move';
|
|
893
|
+
nodeClick?: 'zoomToNode' | 'link' | false;
|
|
894
|
+
zoomToNodeRatio?: number;
|
|
895
|
+
levels?: TreemapLevel[];
|
|
896
|
+
breadcrumb?: TreemapBreadcrumb;
|
|
897
|
+
label?: TreemapLabel;
|
|
898
|
+
itemStyle?: TreemapItemStyle;
|
|
899
|
+
emphasis?: TreemapEmphasis;
|
|
900
|
+
}
|
|
901
|
+
/** Treemap level */
|
|
902
|
+
export interface TreemapLevel {
|
|
903
|
+
visualDimension?: number;
|
|
904
|
+
visualMin?: number;
|
|
905
|
+
visualMax?: number;
|
|
906
|
+
color?: string[];
|
|
907
|
+
colorMappingBy?: 'value' | 'index' | 'id';
|
|
908
|
+
itemStyle?: TreemapItemStyle;
|
|
909
|
+
label?: TreemapLabel;
|
|
910
|
+
}
|
|
911
|
+
/** Treemap breadcrumb */
|
|
912
|
+
export interface TreemapBreadcrumb {
|
|
913
|
+
show?: boolean;
|
|
914
|
+
left?: string | number;
|
|
915
|
+
top?: string | number;
|
|
916
|
+
right?: string | number;
|
|
917
|
+
bottom?: string | number;
|
|
918
|
+
height?: number;
|
|
919
|
+
emptyItemWidth?: number;
|
|
920
|
+
itemStyle?: BreadcrumbItemStyle;
|
|
921
|
+
}
|
|
922
|
+
/** Breadcrumb item style */
|
|
923
|
+
export interface BreadcrumbItemStyle {
|
|
924
|
+
color?: string;
|
|
925
|
+
borderColor?: string;
|
|
926
|
+
borderWidth?: number;
|
|
927
|
+
borderType?: 'solid' | 'dashed' | 'dotted';
|
|
928
|
+
textStyle?: ChartTextStyle;
|
|
929
|
+
}
|
|
930
|
+
/** Treemap label */
|
|
931
|
+
export interface TreemapLabel {
|
|
932
|
+
show?: boolean;
|
|
933
|
+
position?: TreemapLabelPosition;
|
|
934
|
+
formatter?: string | ((params: unknown) => string);
|
|
935
|
+
style?: ChartTextStyle;
|
|
936
|
+
ellipsis?: boolean;
|
|
937
|
+
}
|
|
938
|
+
/** Treemap label position */
|
|
939
|
+
export type TreemapLabelPosition = 'inside' | 'insideTopLeft' | 'insideTop' | 'insideTopRight' | 'insideBottomLeft' | 'insideBottom' | 'insideBottomRight';
|
|
940
|
+
/** Treemap item style */
|
|
941
|
+
export interface TreemapItemStyle {
|
|
942
|
+
color?: string;
|
|
943
|
+
colorAlpha?: number;
|
|
944
|
+
colorSaturation?: number;
|
|
945
|
+
borderRadius?: number;
|
|
946
|
+
borderWidth?: number;
|
|
947
|
+
borderColor?: string;
|
|
948
|
+
gapWidth?: number;
|
|
949
|
+
}
|
|
950
|
+
/** Treemap emphasis */
|
|
951
|
+
export interface TreemapEmphasis {
|
|
952
|
+
focus?: 'none' | 'self' | 'descendant' | 'ancestor';
|
|
953
|
+
blurScope?: 'coordinateSystem' | 'series' | 'global';
|
|
954
|
+
label?: TreemapLabel;
|
|
955
|
+
itemStyle?: TreemapItemStyle;
|
|
956
|
+
}
|
|
957
|
+
/** Sunburst config */
|
|
958
|
+
export interface SunburstConfig {
|
|
959
|
+
center?: [string | number, string | number];
|
|
960
|
+
radius?: (string | number)[];
|
|
961
|
+
startAngle?: number;
|
|
962
|
+
minAngle?: number;
|
|
963
|
+
clockwise?: boolean;
|
|
964
|
+
stillShowZeroSum?: boolean;
|
|
965
|
+
nodeClick?: 'rootToNode' | 'link' | false;
|
|
966
|
+
sort?: 'desc' | 'asc' | ((a: unknown, b: unknown) => number) | null;
|
|
967
|
+
renderLabelForZeroData?: boolean;
|
|
968
|
+
levels?: SunburstLevel[];
|
|
969
|
+
}
|
|
970
|
+
/** Sunburst level */
|
|
971
|
+
export interface SunburstLevel {
|
|
972
|
+
radius?: [string | number, string | number];
|
|
973
|
+
label?: PieLabel;
|
|
974
|
+
itemStyle?: PieItemStyle;
|
|
975
|
+
emphasis?: PieEmphasis;
|
|
976
|
+
}
|
|
977
|
+
/** Sankey config */
|
|
978
|
+
export interface SankeyConfig {
|
|
979
|
+
left?: string | number;
|
|
980
|
+
top?: string | number;
|
|
981
|
+
right?: string | number;
|
|
982
|
+
bottom?: string | number;
|
|
983
|
+
width?: string | number;
|
|
984
|
+
height?: string | number;
|
|
985
|
+
nodeWidth?: number;
|
|
986
|
+
nodeGap?: number;
|
|
987
|
+
nodeAlign?: 'justify' | 'left' | 'right';
|
|
988
|
+
layoutIterations?: number;
|
|
989
|
+
orient?: 'horizontal' | 'vertical';
|
|
990
|
+
draggable?: boolean;
|
|
991
|
+
focusNodeAdjacency?: boolean | 'allEdges' | 'outEdges' | 'inEdges';
|
|
992
|
+
levels?: SankeyLevel[];
|
|
993
|
+
label?: SankeyLabel;
|
|
994
|
+
itemStyle?: SankeyItemStyle;
|
|
995
|
+
lineStyle?: SankeyLineStyle;
|
|
996
|
+
emphasis?: SankeyEmphasis;
|
|
997
|
+
}
|
|
998
|
+
/** Sankey level */
|
|
999
|
+
export interface SankeyLevel {
|
|
1000
|
+
depth: number;
|
|
1001
|
+
label?: SankeyLabel;
|
|
1002
|
+
itemStyle?: SankeyItemStyle;
|
|
1003
|
+
lineStyle?: SankeyLineStyle;
|
|
1004
|
+
}
|
|
1005
|
+
/** Sankey label */
|
|
1006
|
+
export interface SankeyLabel {
|
|
1007
|
+
show?: boolean;
|
|
1008
|
+
position?: 'left' | 'right' | 'inside' | 'insideLeft' | 'insideRight';
|
|
1009
|
+
formatter?: string | ((params: unknown) => string);
|
|
1010
|
+
style?: ChartTextStyle;
|
|
1011
|
+
offset?: [number, number];
|
|
1012
|
+
}
|
|
1013
|
+
/** Sankey item style */
|
|
1014
|
+
export interface SankeyItemStyle {
|
|
1015
|
+
color?: string;
|
|
1016
|
+
borderColor?: string;
|
|
1017
|
+
borderWidth?: number;
|
|
1018
|
+
borderRadius?: number;
|
|
1019
|
+
opacity?: number;
|
|
1020
|
+
}
|
|
1021
|
+
/** Sankey line style */
|
|
1022
|
+
export interface SankeyLineStyle {
|
|
1023
|
+
color?: string | 'source' | 'target' | 'gradient';
|
|
1024
|
+
opacity?: number;
|
|
1025
|
+
curveness?: number;
|
|
1026
|
+
}
|
|
1027
|
+
/** Sankey emphasis */
|
|
1028
|
+
export interface SankeyEmphasis {
|
|
1029
|
+
focus?: 'none' | 'self' | 'series' | 'adjacency';
|
|
1030
|
+
label?: SankeyLabel;
|
|
1031
|
+
itemStyle?: SankeyItemStyle;
|
|
1032
|
+
lineStyle?: SankeyLineStyle;
|
|
1033
|
+
}
|
|
1034
|
+
/** Chord config */
|
|
1035
|
+
export interface ChordConfig {
|
|
1036
|
+
radius?: string | number | (string | number)[];
|
|
1037
|
+
center?: [string | number, string | number];
|
|
1038
|
+
startAngle?: number;
|
|
1039
|
+
endAngle?: number;
|
|
1040
|
+
clockwise?: boolean;
|
|
1041
|
+
padAngle?: number;
|
|
1042
|
+
sortGroups?: 'ascending' | 'descending' | null;
|
|
1043
|
+
sortSubgroups?: 'ascending' | 'descending' | null;
|
|
1044
|
+
sortChords?: 'ascending' | 'descending' | null;
|
|
1045
|
+
}
|
|
1046
|
+
/** Funnel config */
|
|
1047
|
+
export interface FunnelConfig {
|
|
1048
|
+
min?: number;
|
|
1049
|
+
max?: number;
|
|
1050
|
+
minSize?: string | number;
|
|
1051
|
+
maxSize?: string | number;
|
|
1052
|
+
orient?: 'horizontal' | 'vertical';
|
|
1053
|
+
sort?: 'ascending' | 'descending' | 'none';
|
|
1054
|
+
gap?: number;
|
|
1055
|
+
left?: string | number;
|
|
1056
|
+
top?: string | number;
|
|
1057
|
+
right?: string | number;
|
|
1058
|
+
bottom?: string | number;
|
|
1059
|
+
width?: string | number;
|
|
1060
|
+
height?: string | number;
|
|
1061
|
+
funnelAlign?: 'left' | 'right' | 'center';
|
|
1062
|
+
label?: FunnelLabel;
|
|
1063
|
+
labelLine?: FunnelLabelLine;
|
|
1064
|
+
itemStyle?: FunnelItemStyle;
|
|
1065
|
+
emphasis?: FunnelEmphasis;
|
|
1066
|
+
}
|
|
1067
|
+
/** Funnel label */
|
|
1068
|
+
export interface FunnelLabel {
|
|
1069
|
+
show?: boolean;
|
|
1070
|
+
position?: 'inside' | 'outside' | 'left' | 'right' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
1071
|
+
formatter?: string | ((params: unknown) => string);
|
|
1072
|
+
style?: ChartTextStyle;
|
|
1073
|
+
}
|
|
1074
|
+
/** Funnel label line */
|
|
1075
|
+
export interface FunnelLabelLine {
|
|
1076
|
+
show?: boolean;
|
|
1077
|
+
length?: number;
|
|
1078
|
+
lineStyle?: PointerLineStyle;
|
|
1079
|
+
}
|
|
1080
|
+
/** Funnel item style */
|
|
1081
|
+
export interface FunnelItemStyle {
|
|
1082
|
+
color?: string;
|
|
1083
|
+
borderColor?: string;
|
|
1084
|
+
borderWidth?: number;
|
|
1085
|
+
borderRadius?: number;
|
|
1086
|
+
opacity?: number;
|
|
1087
|
+
}
|
|
1088
|
+
/** Funnel emphasis */
|
|
1089
|
+
export interface FunnelEmphasis {
|
|
1090
|
+
focus?: 'none' | 'self' | 'series';
|
|
1091
|
+
label?: FunnelLabel;
|
|
1092
|
+
labelLine?: FunnelLabelLine;
|
|
1093
|
+
itemStyle?: FunnelItemStyle;
|
|
1094
|
+
}
|
|
1095
|
+
/** Gauge config */
|
|
1096
|
+
export interface GaugeConfig {
|
|
1097
|
+
center?: [string | number, string | number];
|
|
1098
|
+
radius?: string | number;
|
|
1099
|
+
startAngle?: number;
|
|
1100
|
+
endAngle?: number;
|
|
1101
|
+
clockwise?: boolean;
|
|
1102
|
+
min?: number;
|
|
1103
|
+
max?: number;
|
|
1104
|
+
splitNumber?: number;
|
|
1105
|
+
axisLine?: GaugeAxisLine;
|
|
1106
|
+
progress?: GaugeProgress;
|
|
1107
|
+
splitLine?: GaugeSplitLine;
|
|
1108
|
+
axisTick?: GaugeAxisTick;
|
|
1109
|
+
axisLabel?: GaugeAxisLabel;
|
|
1110
|
+
pointer?: GaugePointer;
|
|
1111
|
+
anchor?: GaugeAnchor;
|
|
1112
|
+
itemStyle?: GaugeItemStyle;
|
|
1113
|
+
emphasis?: GaugeEmphasis;
|
|
1114
|
+
title?: GaugeTitle;
|
|
1115
|
+
detail?: GaugeDetail;
|
|
1116
|
+
}
|
|
1117
|
+
/** Gauge axis line */
|
|
1118
|
+
export interface GaugeAxisLine {
|
|
1119
|
+
show?: boolean;
|
|
1120
|
+
roundCap?: boolean;
|
|
1121
|
+
lineStyle?: GaugeAxisLineStyle;
|
|
1122
|
+
}
|
|
1123
|
+
/** Gauge axis line style */
|
|
1124
|
+
export interface GaugeAxisLineStyle {
|
|
1125
|
+
width?: number;
|
|
1126
|
+
color?: [number, string][];
|
|
1127
|
+
opacity?: number;
|
|
1128
|
+
}
|
|
1129
|
+
/** Gauge progress */
|
|
1130
|
+
export interface GaugeProgress {
|
|
1131
|
+
show?: boolean;
|
|
1132
|
+
overlap?: boolean;
|
|
1133
|
+
width?: number;
|
|
1134
|
+
roundCap?: boolean;
|
|
1135
|
+
clip?: boolean;
|
|
1136
|
+
itemStyle?: GaugeItemStyle;
|
|
1137
|
+
}
|
|
1138
|
+
/** Gauge split line */
|
|
1139
|
+
export interface GaugeSplitLine {
|
|
1140
|
+
show?: boolean;
|
|
1141
|
+
length?: number;
|
|
1142
|
+
distance?: number;
|
|
1143
|
+
lineStyle?: PointerLineStyle;
|
|
1144
|
+
}
|
|
1145
|
+
/** Gauge axis tick */
|
|
1146
|
+
export interface GaugeAxisTick {
|
|
1147
|
+
show?: boolean;
|
|
1148
|
+
splitNumber?: number;
|
|
1149
|
+
length?: number;
|
|
1150
|
+
distance?: number;
|
|
1151
|
+
lineStyle?: PointerLineStyle;
|
|
1152
|
+
}
|
|
1153
|
+
/** Gauge axis label */
|
|
1154
|
+
export interface GaugeAxisLabel {
|
|
1155
|
+
show?: boolean;
|
|
1156
|
+
distance?: number;
|
|
1157
|
+
formatter?: string | ((value: number) => string);
|
|
1158
|
+
style?: ChartTextStyle;
|
|
1159
|
+
}
|
|
1160
|
+
/** Gauge pointer */
|
|
1161
|
+
export interface GaugePointer {
|
|
1162
|
+
show?: boolean;
|
|
1163
|
+
showAbove?: boolean;
|
|
1164
|
+
icon?: string;
|
|
1165
|
+
offsetCenter?: [string | number, string | number];
|
|
1166
|
+
length?: string | number;
|
|
1167
|
+
width?: number;
|
|
1168
|
+
keepAspect?: boolean;
|
|
1169
|
+
itemStyle?: GaugeItemStyle;
|
|
1170
|
+
}
|
|
1171
|
+
/** Gauge anchor */
|
|
1172
|
+
export interface GaugeAnchor {
|
|
1173
|
+
show?: boolean;
|
|
1174
|
+
showAbove?: boolean;
|
|
1175
|
+
size?: number;
|
|
1176
|
+
icon?: string;
|
|
1177
|
+
offsetCenter?: [string | number, string | number];
|
|
1178
|
+
keepAspect?: boolean;
|
|
1179
|
+
itemStyle?: GaugeItemStyle;
|
|
1180
|
+
}
|
|
1181
|
+
/** Gauge item style */
|
|
1182
|
+
export interface GaugeItemStyle {
|
|
1183
|
+
color?: string | ChartGradient;
|
|
1184
|
+
borderColor?: string;
|
|
1185
|
+
borderWidth?: number;
|
|
1186
|
+
borderRadius?: number;
|
|
1187
|
+
opacity?: number;
|
|
1188
|
+
shadowBlur?: number;
|
|
1189
|
+
shadowColor?: string;
|
|
1190
|
+
}
|
|
1191
|
+
/** Gauge emphasis */
|
|
1192
|
+
export interface GaugeEmphasis {
|
|
1193
|
+
itemStyle?: GaugeItemStyle;
|
|
1194
|
+
}
|
|
1195
|
+
/** Gauge title */
|
|
1196
|
+
export interface GaugeTitle {
|
|
1197
|
+
show?: boolean;
|
|
1198
|
+
offsetCenter?: [string | number, string | number];
|
|
1199
|
+
style?: ChartTextStyle;
|
|
1200
|
+
width?: number;
|
|
1201
|
+
overflow?: 'none' | 'truncate' | 'break' | 'breakAll';
|
|
1202
|
+
valueAnimation?: boolean;
|
|
1203
|
+
}
|
|
1204
|
+
/** Gauge detail */
|
|
1205
|
+
export interface GaugeDetail {
|
|
1206
|
+
show?: boolean;
|
|
1207
|
+
formatter?: string | ((value: number) => string);
|
|
1208
|
+
offsetCenter?: [string | number, string | number];
|
|
1209
|
+
style?: ChartTextStyle;
|
|
1210
|
+
width?: number;
|
|
1211
|
+
overflow?: 'none' | 'truncate' | 'break' | 'breakAll';
|
|
1212
|
+
valueAnimation?: boolean;
|
|
1213
|
+
}
|
|
1214
|
+
/** Heatmap chart config */
|
|
1215
|
+
export interface HeatmapChartConfig {
|
|
1216
|
+
blurSize?: number;
|
|
1217
|
+
minOpacity?: number;
|
|
1218
|
+
maxOpacity?: number;
|
|
1219
|
+
pointSize?: number;
|
|
1220
|
+
coordinateSystem?: 'cartesian2d' | 'geo' | 'calendar';
|
|
1221
|
+
xAxisIndex?: number;
|
|
1222
|
+
yAxisIndex?: number;
|
|
1223
|
+
geoIndex?: number;
|
|
1224
|
+
calendarIndex?: number;
|
|
1225
|
+
label?: HeatmapLabel;
|
|
1226
|
+
itemStyle?: HeatmapItemStyle;
|
|
1227
|
+
emphasis?: HeatmapEmphasis;
|
|
1228
|
+
}
|
|
1229
|
+
/** Heatmap label */
|
|
1230
|
+
export interface HeatmapLabel {
|
|
1231
|
+
show?: boolean;
|
|
1232
|
+
position?: 'top' | 'bottom' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom';
|
|
1233
|
+
formatter?: string | ((params: unknown) => string);
|
|
1234
|
+
style?: ChartTextStyle;
|
|
1235
|
+
}
|
|
1236
|
+
/** Heatmap item style */
|
|
1237
|
+
export interface HeatmapItemStyle {
|
|
1238
|
+
color?: string;
|
|
1239
|
+
borderRadius?: number;
|
|
1240
|
+
borderColor?: string;
|
|
1241
|
+
borderWidth?: number;
|
|
1242
|
+
opacity?: number;
|
|
1243
|
+
}
|
|
1244
|
+
/** Heatmap emphasis */
|
|
1245
|
+
export interface HeatmapEmphasis {
|
|
1246
|
+
focus?: 'none' | 'self' | 'series';
|
|
1247
|
+
label?: HeatmapLabel;
|
|
1248
|
+
itemStyle?: HeatmapItemStyle;
|
|
1249
|
+
}
|
|
1250
|
+
/** Boxplot config */
|
|
1251
|
+
export interface BoxplotConfig {
|
|
1252
|
+
xAxisIndex?: number;
|
|
1253
|
+
yAxisIndex?: number;
|
|
1254
|
+
layout?: 'horizontal' | 'vertical';
|
|
1255
|
+
boxWidth?: (string | number)[];
|
|
1256
|
+
itemStyle?: BoxplotItemStyle;
|
|
1257
|
+
emphasis?: BoxplotEmphasis;
|
|
1258
|
+
}
|
|
1259
|
+
/** Boxplot item style */
|
|
1260
|
+
export interface BoxplotItemStyle {
|
|
1261
|
+
color?: string;
|
|
1262
|
+
borderColor?: string;
|
|
1263
|
+
borderWidth?: number;
|
|
1264
|
+
borderType?: 'solid' | 'dashed' | 'dotted';
|
|
1265
|
+
opacity?: number;
|
|
1266
|
+
}
|
|
1267
|
+
/** Boxplot emphasis */
|
|
1268
|
+
export interface BoxplotEmphasis {
|
|
1269
|
+
focus?: 'none' | 'self' | 'series';
|
|
1270
|
+
itemStyle?: BoxplotItemStyle;
|
|
1271
|
+
}
|
|
1272
|
+
/** Candlestick config */
|
|
1273
|
+
export interface CandlestickConfig {
|
|
1274
|
+
xAxisIndex?: number;
|
|
1275
|
+
yAxisIndex?: number;
|
|
1276
|
+
barWidth?: number | string;
|
|
1277
|
+
barMinWidth?: number | string;
|
|
1278
|
+
barMaxWidth?: number | string;
|
|
1279
|
+
layout?: 'horizontal' | 'vertical';
|
|
1280
|
+
itemStyle?: CandlestickItemStyle;
|
|
1281
|
+
emphasis?: CandlestickEmphasis;
|
|
1282
|
+
}
|
|
1283
|
+
/** Candlestick item style */
|
|
1284
|
+
export interface CandlestickItemStyle {
|
|
1285
|
+
color?: string;
|
|
1286
|
+
color0?: string;
|
|
1287
|
+
borderColor?: string;
|
|
1288
|
+
borderColor0?: string;
|
|
1289
|
+
borderWidth?: number;
|
|
1290
|
+
opacity?: number;
|
|
1291
|
+
}
|
|
1292
|
+
/** Candlestick emphasis */
|
|
1293
|
+
export interface CandlestickEmphasis {
|
|
1294
|
+
focus?: 'none' | 'self' | 'series';
|
|
1295
|
+
itemStyle?: CandlestickItemStyle;
|
|
1296
|
+
}
|
|
1297
|
+
/** Map chart config */
|
|
1298
|
+
export interface MapChartConfig {
|
|
1299
|
+
map: string;
|
|
1300
|
+
roam?: boolean | 'scale' | 'move';
|
|
1301
|
+
center?: [number, number];
|
|
1302
|
+
aspectScale?: number;
|
|
1303
|
+
boundingCoords?: [[number, number], [number, number]];
|
|
1304
|
+
zoom?: number;
|
|
1305
|
+
scaleLimit?: {
|
|
1306
|
+
min?: number;
|
|
1307
|
+
max?: number;
|
|
1308
|
+
};
|
|
1309
|
+
nameMap?: Record<string, string>;
|
|
1310
|
+
nameProperty?: string;
|
|
1311
|
+
selectedMode?: boolean | 'single' | 'multiple';
|
|
1312
|
+
label?: MapLabel;
|
|
1313
|
+
itemStyle?: MapItemStyle;
|
|
1314
|
+
emphasis?: MapEmphasis;
|
|
1315
|
+
select?: MapSelect;
|
|
1316
|
+
regions?: MapRegion[];
|
|
1317
|
+
}
|
|
1318
|
+
/** Map label */
|
|
1319
|
+
export interface MapLabel {
|
|
1320
|
+
show?: boolean;
|
|
1321
|
+
formatter?: string | ((params: unknown) => string);
|
|
1322
|
+
style?: ChartTextStyle;
|
|
1323
|
+
}
|
|
1324
|
+
/** Map item style */
|
|
1325
|
+
export interface MapItemStyle {
|
|
1326
|
+
areaColor?: string;
|
|
1327
|
+
borderColor?: string;
|
|
1328
|
+
borderWidth?: number;
|
|
1329
|
+
borderType?: 'solid' | 'dashed' | 'dotted';
|
|
1330
|
+
opacity?: number;
|
|
1331
|
+
}
|
|
1332
|
+
/** Map emphasis */
|
|
1333
|
+
export interface MapEmphasis {
|
|
1334
|
+
focus?: 'none' | 'self' | 'series';
|
|
1335
|
+
label?: MapLabel;
|
|
1336
|
+
itemStyle?: MapItemStyle;
|
|
1337
|
+
}
|
|
1338
|
+
/** Map select */
|
|
1339
|
+
export interface MapSelect {
|
|
1340
|
+
label?: MapLabel;
|
|
1341
|
+
itemStyle?: MapItemStyle;
|
|
1342
|
+
}
|
|
1343
|
+
/** Map region */
|
|
1344
|
+
export interface MapRegion {
|
|
1345
|
+
name: string;
|
|
1346
|
+
selected?: boolean;
|
|
1347
|
+
label?: MapLabel;
|
|
1348
|
+
itemStyle?: MapItemStyle;
|
|
1349
|
+
emphasis?: MapEmphasis;
|
|
1350
|
+
}
|
|
1351
|
+
/** Parallel config */
|
|
1352
|
+
export interface ParallelConfig {
|
|
1353
|
+
left?: string | number;
|
|
1354
|
+
top?: string | number;
|
|
1355
|
+
right?: string | number;
|
|
1356
|
+
bottom?: string | number;
|
|
1357
|
+
width?: string | number;
|
|
1358
|
+
height?: string | number;
|
|
1359
|
+
layout?: 'horizontal' | 'vertical';
|
|
1360
|
+
axisExpandable?: boolean;
|
|
1361
|
+
axisExpandCenter?: number;
|
|
1362
|
+
axisExpandCount?: number;
|
|
1363
|
+
axisExpandWidth?: number;
|
|
1364
|
+
axisExpandTriggerOn?: 'click' | 'mousemove';
|
|
1365
|
+
parallelAxisDefault?: ParallelAxisDefault;
|
|
1366
|
+
}
|
|
1367
|
+
/** Parallel axis default */
|
|
1368
|
+
export interface ParallelAxisDefault {
|
|
1369
|
+
type?: 'value' | 'category' | 'time' | 'log';
|
|
1370
|
+
name?: string;
|
|
1371
|
+
nameLocation?: 'start' | 'middle' | 'end';
|
|
1372
|
+
nameStyle?: ChartTextStyle;
|
|
1373
|
+
nameGap?: number;
|
|
1374
|
+
nameRotate?: number;
|
|
1375
|
+
inverse?: boolean;
|
|
1376
|
+
boundaryGap?: boolean | [string, string];
|
|
1377
|
+
min?: number | string;
|
|
1378
|
+
max?: number | string;
|
|
1379
|
+
scale?: boolean;
|
|
1380
|
+
axisLine?: AxisLineConfig;
|
|
1381
|
+
axisTick?: AxisTickConfig;
|
|
1382
|
+
axisLabel?: AxisLabelConfig;
|
|
1383
|
+
data?: (string | number | ParallelAxisData)[];
|
|
1384
|
+
}
|
|
1385
|
+
/** Parallel axis data */
|
|
1386
|
+
export interface ParallelAxisData {
|
|
1387
|
+
value: string | number;
|
|
1388
|
+
textStyle?: ChartTextStyle;
|
|
1389
|
+
}
|
|
1390
|
+
/** Responsive config */
|
|
1391
|
+
export interface ResponsiveConfig {
|
|
1392
|
+
condition: ResponsiveCondition;
|
|
1393
|
+
option: Partial<ChartConfiguration>;
|
|
1394
|
+
}
|
|
1395
|
+
/** Responsive condition */
|
|
1396
|
+
export interface ResponsiveCondition {
|
|
1397
|
+
maxWidth?: number;
|
|
1398
|
+
minWidth?: number;
|
|
1399
|
+
maxHeight?: number;
|
|
1400
|
+
minHeight?: number;
|
|
1401
|
+
maxAspectRatio?: number;
|
|
1402
|
+
minAspectRatio?: number;
|
|
1403
|
+
}
|
|
1404
|
+
//# sourceMappingURL=chart-builder.d.ts.map
|