katucharts.js 0.2.1

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.
Files changed (200) hide show
  1. package/LICENSE +106 -0
  2. package/README.md +1100 -0
  3. package/dist/__vite-optional-peer-dep_jspdf_katucharts-BDMct_Gn.js +4 -0
  4. package/dist/accessibility/A11yModule.d.ts +26 -0
  5. package/dist/axis/Axis.d.ts +140 -0
  6. package/dist/axis/AxisCoordinator.d.ts +38 -0
  7. package/dist/bio.d.ts +22 -0
  8. package/dist/components/Credits.d.ts +38 -0
  9. package/dist/components/Crosshair.d.ts +15 -0
  10. package/dist/components/DataLabels.d.ts +7 -0
  11. package/dist/components/ExportButton.d.ts +27 -0
  12. package/dist/components/Legend.d.ts +53 -0
  13. package/dist/components/TitleRenderer.d.ts +19 -0
  14. package/dist/components/Tooltip.d.ts +61 -0
  15. package/dist/core/Chart.d.ts +156 -0
  16. package/dist/core/EventBus.d.ts +14 -0
  17. package/dist/core/InteractionController.d.ts +62 -0
  18. package/dist/core/OptionsParser.d.ts +61 -0
  19. package/dist/core/Registry.d.ts +27 -0
  20. package/dist/core/SVGRenderer.d.ts +48 -0
  21. package/dist/core/ScrollablePlotOverlay.d.ts +31 -0
  22. package/dist/core/StackComputer.d.ts +25 -0
  23. package/dist/core/StateManager.d.ts +21 -0
  24. package/dist/core/UpdateScheduler.d.ts +28 -0
  25. package/dist/core/animationConstants.d.ts +20 -0
  26. package/dist/core/chartTypes.d.ts +46 -0
  27. package/dist/core/registerAll.d.ts +4 -0
  28. package/dist/core/registerBio.d.ts +4 -0
  29. package/dist/core/registerCore.d.ts +4 -0
  30. package/dist/core/registerFinance.d.ts +4 -0
  31. package/dist/core/registerFinancial.d.ts +4 -0
  32. package/dist/core/registerFlow.d.ts +4 -0
  33. package/dist/core/registerGeneral.d.ts +4 -0
  34. package/dist/datatable/DataTable.d.ts +162 -0
  35. package/dist/datatable/DataTableDefaults.d.ts +7 -0
  36. package/dist/datatable/api/TableApi.d.ts +35 -0
  37. package/dist/datatable/columns/ColumnDef.d.ts +16 -0
  38. package/dist/datatable/columns/ColumnManager.d.ts +31 -0
  39. package/dist/datatable/data/DataProcessor.d.ts +46 -0
  40. package/dist/datatable/data/DataSource.d.ts +26 -0
  41. package/dist/datatable/editing/CellEditor.d.ts +29 -0
  42. package/dist/datatable/export/TableExport.d.ts +23 -0
  43. package/dist/datatable/locales/en.d.ts +9 -0
  44. package/dist/datatable/locales/es.d.ts +6 -0
  45. package/dist/datatable/locales/index.d.ts +22 -0
  46. package/dist/datatable/locales/pt-BR.d.ts +6 -0
  47. package/dist/datatable/locales/resolveLocale.d.ts +16 -0
  48. package/dist/datatable/locales/zh.d.ts +6 -0
  49. package/dist/datatable/render/CellRenderer.d.ts +24 -0
  50. package/dist/datatable/render/HeaderRenderer.d.ts +51 -0
  51. package/dist/datatable/render/PaginationRenderer.d.ts +26 -0
  52. package/dist/datatable/render/SearchRenderer.d.ts +21 -0
  53. package/dist/datatable/render/TableRenderer.d.ts +81 -0
  54. package/dist/datatable/render/ToolbarRenderer.d.ts +34 -0
  55. package/dist/datatable/render/icons.d.ts +24 -0
  56. package/dist/datatable/render/popover.d.ts +15 -0
  57. package/dist/datatable/selection/SelectionManager.d.ts +29 -0
  58. package/dist/datatable/themes/TableTheme.d.ts +36 -0
  59. package/dist/datatable/themes/styleSheet.d.ts +16 -0
  60. package/dist/datatable.d.ts +19 -0
  61. package/dist/export/ChartExporter.d.ts +50 -0
  62. package/dist/export/Export.d.ts +76 -0
  63. package/dist/finance.d.ts +49 -0
  64. package/dist/index.d.ts +67 -0
  65. package/dist/indicators/Indicator.d.ts +23 -0
  66. package/dist/indicators/expandIndicators.d.ts +18 -0
  67. package/dist/indicators/moving-averages/DEMA.d.ts +10 -0
  68. package/dist/indicators/moving-averages/EMA.d.ts +12 -0
  69. package/dist/indicators/moving-averages/SMA.d.ts +11 -0
  70. package/dist/indicators/moving-averages/TEMA.d.ts +10 -0
  71. package/dist/indicators/moving-averages/WMA.d.ts +12 -0
  72. package/dist/indicators/oscillators/CCI.d.ts +11 -0
  73. package/dist/indicators/oscillators/MACD.d.ts +20 -0
  74. package/dist/indicators/oscillators/Momentum.d.ts +10 -0
  75. package/dist/indicators/oscillators/ROC.d.ts +10 -0
  76. package/dist/indicators/oscillators/RSI.d.ts +11 -0
  77. package/dist/indicators/oscillators/Stochastic.d.ts +20 -0
  78. package/dist/indicators/registry.d.ts +9 -0
  79. package/dist/indicators/trend/ADX.d.ts +11 -0
  80. package/dist/indicators/trend/IchimokuCloud.d.ts +14 -0
  81. package/dist/indicators/trend/PSAR.d.ts +11 -0
  82. package/dist/indicators/util.d.ts +8 -0
  83. package/dist/indicators/volatility/ATR.d.ts +11 -0
  84. package/dist/indicators/volatility/BollingerBands.d.ts +11 -0
  85. package/dist/indicators/volume/OBV.d.ts +11 -0
  86. package/dist/indicators/volume/VBP.d.ts +12 -0
  87. package/dist/indicators/volume/VWAP.d.ts +12 -0
  88. package/dist/interaction/Drilldown.d.ts +29 -0
  89. package/dist/interaction/HoverManager.d.ts +47 -0
  90. package/dist/interaction/Zoom.d.ts +68 -0
  91. package/dist/katucharts-bio.es.js +5861 -0
  92. package/dist/katucharts-bio.umd.js +1 -0
  93. package/dist/katucharts-datatable.es.js +3363 -0
  94. package/dist/katucharts-datatable.umd.js +296 -0
  95. package/dist/katucharts-finance.es.js +4364 -0
  96. package/dist/katucharts-finance.umd.js +1 -0
  97. package/dist/katucharts-react.es.js +35 -0
  98. package/dist/katucharts-react.umd.js +1 -0
  99. package/dist/katucharts.es.js +20531 -0
  100. package/dist/katucharts.umd.js +9 -0
  101. package/dist/layout/LayoutEngine.d.ts +44 -0
  102. package/dist/license/LicenseManager.d.ts +63 -0
  103. package/dist/options/defaults.d.ts +5 -0
  104. package/dist/react/KatuChartsReact.d.ts +16 -0
  105. package/dist/react.d.ts +2 -0
  106. package/dist/responsive/ResponsiveEngine.d.ts +15 -0
  107. package/dist/series/BaseSeries.d.ts +186 -0
  108. package/dist/series/bioinformatics/CircosChart.d.ts +4 -0
  109. package/dist/series/bioinformatics/ClusteredHeatmapChart.d.ts +22 -0
  110. package/dist/series/bioinformatics/ForestPlotChart.d.ts +21 -0
  111. package/dist/series/bioinformatics/KaplanMeierChart.d.ts +22 -0
  112. package/dist/series/bioinformatics/ManhattanChart.d.ts +34 -0
  113. package/dist/series/bioinformatics/PCoAChart.d.ts +22 -0
  114. package/dist/series/bioinformatics/PhyloTreeChart.d.ts +27 -0
  115. package/dist/series/bioinformatics/SequenceLogoChart.d.ts +21 -0
  116. package/dist/series/bioinformatics/ViolinChart.d.ts +23 -0
  117. package/dist/series/bioinformatics/VolcanoChart.d.ts +28 -0
  118. package/dist/series/bioinformatics/circos/CircosChart.d.ts +20 -0
  119. package/dist/series/bioinformatics/circos/CircosColorScales.d.ts +6 -0
  120. package/dist/series/bioinformatics/circos/CircosComparativeChart.d.ts +41 -0
  121. package/dist/series/bioinformatics/circos/CircosHeatmapChart.d.ts +31 -0
  122. package/dist/series/bioinformatics/circos/CircosLayoutEngine.d.ts +37 -0
  123. package/dist/series/bioinformatics/circos/CircosRules.d.ts +6 -0
  124. package/dist/series/bioinformatics/circos/CircosSpiralChart.d.ts +39 -0
  125. package/dist/series/bioinformatics/circos/CircosTypes.d.ts +131 -0
  126. package/dist/series/bioinformatics/circos/tracks/AreaTrackRenderer.d.ts +7 -0
  127. package/dist/series/bioinformatics/circos/tracks/ConnectorTrackRenderer.d.ts +7 -0
  128. package/dist/series/bioinformatics/circos/tracks/GlyphTrackRenderer.d.ts +7 -0
  129. package/dist/series/bioinformatics/circos/tracks/HeatmapTrackRenderer.d.ts +7 -0
  130. package/dist/series/bioinformatics/circos/tracks/HighlightTrackRenderer.d.ts +6 -0
  131. package/dist/series/bioinformatics/circos/tracks/HistogramTrackRenderer.d.ts +7 -0
  132. package/dist/series/bioinformatics/circos/tracks/LineTrackRenderer.d.ts +7 -0
  133. package/dist/series/bioinformatics/circos/tracks/LinkTrackRenderer.d.ts +8 -0
  134. package/dist/series/bioinformatics/circos/tracks/LollipopTrackRenderer.d.ts +9 -0
  135. package/dist/series/bioinformatics/circos/tracks/RibbonTrackRenderer.d.ts +9 -0
  136. package/dist/series/bioinformatics/circos/tracks/ScatterTrackRenderer.d.ts +7 -0
  137. package/dist/series/bioinformatics/circos/tracks/StackTrackRenderer.d.ts +7 -0
  138. package/dist/series/bioinformatics/circos/tracks/TextTrackRenderer.d.ts +8 -0
  139. package/dist/series/bioinformatics/circos/tracks/TileTrackRenderer.d.ts +7 -0
  140. package/dist/series/bioinformatics/circos/tracks/TrackAxesRenderer.d.ts +6 -0
  141. package/dist/series/bioinformatics/circos/tracks/TrackBackgroundRenderer.d.ts +5 -0
  142. package/dist/series/cartesian/AreaChart.d.ts +33 -0
  143. package/dist/series/cartesian/BoxPlotChart.d.ts +24 -0
  144. package/dist/series/cartesian/BubbleChart.d.ts +34 -0
  145. package/dist/series/cartesian/ColumnChart.d.ts +37 -0
  146. package/dist/series/cartesian/LineChart.d.ts +28 -0
  147. package/dist/series/cartesian/ScatterChart.d.ts +20 -0
  148. package/dist/series/cartesian/SplineChart.d.ts +9 -0
  149. package/dist/series/cartesian/WaterfallChart.d.ts +25 -0
  150. package/dist/series/financial/AreaRangeChart.d.ts +24 -0
  151. package/dist/series/financial/BaselineChart.d.ts +20 -0
  152. package/dist/series/financial/CandlestickChart.d.ts +55 -0
  153. package/dist/series/financial/ColumnRangeChart.d.ts +16 -0
  154. package/dist/series/financial/FlagsChart.d.ts +34 -0
  155. package/dist/series/financial/HeikinAshiChart.d.ts +11 -0
  156. package/dist/series/financial/HollowCandlestickChart.d.ts +17 -0
  157. package/dist/series/financial/KagiChart.d.ts +23 -0
  158. package/dist/series/financial/LineBreakChart.d.ts +23 -0
  159. package/dist/series/financial/PointAndFigureChart.d.ts +24 -0
  160. package/dist/series/financial/RenkoChart.d.ts +22 -0
  161. package/dist/series/financial/VBPChart.d.ts +18 -0
  162. package/dist/series/financial/VolumeChart.d.ts +15 -0
  163. package/dist/series/flow/DependencyWheelChart.d.ts +23 -0
  164. package/dist/series/flow/NetworkGraphChart.d.ts +18 -0
  165. package/dist/series/flow/SankeyChart.d.ts +24 -0
  166. package/dist/series/gauge/GaugeChart.d.ts +40 -0
  167. package/dist/series/heatmap/HeatmapChart.d.ts +18 -0
  168. package/dist/series/hierarchical/SunburstChart.d.ts +44 -0
  169. package/dist/series/hierarchical/TreegraphChart.d.ts +19 -0
  170. package/dist/series/hierarchical/TreemapChart.d.ts +20 -0
  171. package/dist/series/hierarchical/WordcloudChart.d.ts +19 -0
  172. package/dist/series/index.d.ts +45 -0
  173. package/dist/series/map/FlowmapChart.d.ts +33 -0
  174. package/dist/series/map/MapChart.d.ts +53 -0
  175. package/dist/series/map/MapPointChart.d.ts +26 -0
  176. package/dist/series/map/mapProjection.d.ts +46 -0
  177. package/dist/series/pie/PieChart.d.ts +53 -0
  178. package/dist/series/polar/PolarChart.d.ts +18 -0
  179. package/dist/series/race/BarRaceChart.d.ts +44 -0
  180. package/dist/series/timeline/TimelineChart.d.ts +23 -0
  181. package/dist/series/venn/VennChart.d.ts +28 -0
  182. package/dist/stock/DataGrouping.d.ts +21 -0
  183. package/dist/stock/Navigator.d.ts +25 -0
  184. package/dist/stock/RangeSelector.d.ts +9 -0
  185. package/dist/stock/StockController.d.ts +47 -0
  186. package/dist/stockcharts.d.ts +8 -0
  187. package/dist/streaming/StreamAdapter.d.ts +36 -0
  188. package/dist/types/datatable-options.d.ts +633 -0
  189. package/dist/types/options.d.ts +1333 -0
  190. package/dist/utils/CircularBuffer.d.ts +24 -0
  191. package/dist/utils/chartText.d.ts +18 -0
  192. package/dist/utils/color.d.ts +23 -0
  193. package/dist/utils/decimation.d.ts +19 -0
  194. package/dist/utils/deepMerge.d.ts +5 -0
  195. package/dist/utils/dom.d.ts +10 -0
  196. package/dist/utils/format.d.ts +42 -0
  197. package/dist/utils/index.d.ts +7 -0
  198. package/dist/utils/math.d.ts +6 -0
  199. package/dist/utils/throttle.d.ts +2 -0
  200. package/package.json +95 -0
@@ -0,0 +1,1333 @@
1
+ /**
2
+ * Option types for KatuCharts.
3
+ */
4
+ export type SeriesType = 'line' | 'spline' | 'area' | 'areaspline' | 'arearange' | 'column' | 'bar' | 'barchartrace' | 'scatter' | 'bubble' | 'pie' | 'donut' | 'heatmap' | 'treemap' | 'sunburst' | 'treegraph' | 'wordcloud' | 'sankey' | 'dependencywheel' | 'networkgraph' | 'gauge' | 'solidgauge' | 'polar' | 'radar' | 'candlestick' | 'ohlc' | 'heikinashi' | 'hollowcandlestick' | 'volume' | 'arearange' | 'baseline' | 'flags' | 'renko' | 'kagi' | 'pointandfigure' | 'linebreak' | 'waterfall' | 'boxplot' | 'funnel' | 'pyramid' | 'timeline' | 'gantt' | 'map' | 'mappoint' | 'flowmap' | 'venn' | 'volcano' | 'manhattan' | 'violin' | 'kaplanmeier' | 'forestplot' | 'sequencelogo' | 'clusteredheatmap' | 'phylotree' | 'circos' | 'circosHeatmap' | 'circosComparative' | 'circosSpiral' | 'pcoa';
5
+ export type CursorType = 'pointer' | 'default' | 'crosshair' | 'move' | 'help' | 'text' | 'not-allowed';
6
+ export type DashStyleType = 'Solid' | 'ShortDash' | 'ShortDot' | 'ShortDashDot' | 'ShortDashDotDot' | 'Dot' | 'Dash' | 'LongDash' | 'DashDot' | 'LongDashDot' | 'LongDashDotDot';
7
+ export type AlignType = 'left' | 'center' | 'right';
8
+ export type VerticalAlignType = 'top' | 'middle' | 'bottom';
9
+ export interface CSSObject {
10
+ [key: string]: string | number | undefined;
11
+ }
12
+ export interface StreamingOptions {
13
+ enabled?: boolean;
14
+ maxFps?: number;
15
+ bufferSize?: number;
16
+ batchInterval?: number;
17
+ shiftOnOverflow?: boolean;
18
+ }
19
+ export interface ChartEventsOptions {
20
+ load?: (this: any, event: Event) => void;
21
+ redraw?: (this: any, event: Event) => void;
22
+ render?: (this: any, event: Event) => void;
23
+ selection?: (this: any, event: any) => boolean | void;
24
+ click?: (this: any, event: MouseEvent) => void;
25
+ addSeries?: (this: any, event: any) => boolean | void;
26
+ drilldown?: (this: any, event: any) => void;
27
+ drillup?: (this: any, event: any) => void;
28
+ beforePrint?: (this: any, event: Event) => void;
29
+ afterPrint?: (this: any, event: Event) => void;
30
+ }
31
+ export interface ChartOptions {
32
+ type?: SeriesType;
33
+ /** Map topology (GeoJSON or TopoJSON) at the chart level. */
34
+ map?: any;
35
+ width?: number | null;
36
+ height?: number | string | null;
37
+ backgroundColor?: string;
38
+ borderColor?: string;
39
+ borderWidth?: number;
40
+ borderRadius?: number;
41
+ className?: string;
42
+ margin?: number | number[];
43
+ marginTop?: number;
44
+ marginRight?: number;
45
+ marginBottom?: number;
46
+ marginLeft?: number;
47
+ spacing?: number[];
48
+ spacingTop?: number;
49
+ spacingRight?: number;
50
+ spacingBottom?: number;
51
+ spacingLeft?: number;
52
+ style?: CSSObject;
53
+ animation?: boolean | {
54
+ duration?: number;
55
+ easing?: string;
56
+ };
57
+ zoomType?: 'x' | 'y' | 'xy';
58
+ panning?: boolean | {
59
+ enabled?: boolean;
60
+ type?: 'x' | 'y' | 'xy';
61
+ };
62
+ panKey?: 'ctrl' | 'alt' | 'shift' | 'meta';
63
+ inverted?: boolean;
64
+ polar?: boolean;
65
+ reflow?: boolean;
66
+ palette?: string;
67
+ events?: ChartEventsOptions;
68
+ styledMode?: boolean;
69
+ renderTo?: string | HTMLElement;
70
+ plotBackgroundColor?: string;
71
+ plotBackgroundImage?: string;
72
+ plotBorderColor?: string;
73
+ plotBorderWidth?: number;
74
+ plotShadow?: boolean;
75
+ shadow?: boolean;
76
+ selectionMarkerFill?: string;
77
+ ignoreHiddenSeries?: boolean;
78
+ colorCount?: number;
79
+ streaming?: StreamingOptions;
80
+ numberFormatter?: (value: number) => string;
81
+ zooming?: {
82
+ type?: 'x' | 'y' | 'xy';
83
+ key?: 'ctrl' | 'alt' | 'shift' | 'meta';
84
+ mouseWheel?: boolean | {
85
+ enabled?: boolean;
86
+ sensitivity?: number;
87
+ };
88
+ pinchType?: 'x' | 'y' | 'xy';
89
+ resetButton?: {
90
+ position?: {
91
+ align?: AlignType;
92
+ verticalAlign?: VerticalAlignType;
93
+ x?: number;
94
+ y?: number;
95
+ };
96
+ theme?: Record<string, any>;
97
+ relativeTo?: 'plot' | 'chart';
98
+ };
99
+ singleTouch?: boolean;
100
+ };
101
+ }
102
+ export interface TitleOptions {
103
+ text?: string | null;
104
+ align?: AlignType;
105
+ verticalAlign?: VerticalAlignType;
106
+ floating?: boolean;
107
+ margin?: number;
108
+ style?: CSSObject;
109
+ x?: number;
110
+ y?: number;
111
+ useHTML?: boolean;
112
+ widthAdjust?: number;
113
+ }
114
+ export interface SubtitleOptions extends TitleOptions {
115
+ }
116
+ export interface AxisLabelOptions {
117
+ enabled?: boolean;
118
+ format?: string;
119
+ formatter?: (this: {
120
+ value: any;
121
+ axis: any;
122
+ }) => string;
123
+ style?: CSSObject;
124
+ rotation?: number;
125
+ autoRotation?: number[];
126
+ autoRotationLimit?: number;
127
+ align?: AlignType;
128
+ x?: number;
129
+ y?: number;
130
+ overflow?: 'allow' | 'justify';
131
+ staggerLines?: number;
132
+ step?: number;
133
+ useHTML?: boolean;
134
+ padding?: number;
135
+ }
136
+ export interface AxisTitleOptions {
137
+ text?: string | null;
138
+ align?: 'low' | 'middle' | 'high';
139
+ style?: CSSObject;
140
+ rotation?: number;
141
+ offset?: number;
142
+ margin?: number;
143
+ x?: number;
144
+ y?: number;
145
+ }
146
+ export interface PlotBandOptions {
147
+ from?: number;
148
+ to?: number;
149
+ color?: string;
150
+ borderColor?: string;
151
+ borderWidth?: number;
152
+ borderRadius?: number;
153
+ label?: {
154
+ text?: string;
155
+ align?: AlignType;
156
+ verticalAlign?: VerticalAlignType;
157
+ style?: CSSObject;
158
+ x?: number;
159
+ y?: number;
160
+ };
161
+ id?: string;
162
+ zIndex?: number;
163
+ className?: string;
164
+ events?: {
165
+ click?: (this: any, event: MouseEvent) => void;
166
+ mouseover?: (this: any, event: MouseEvent) => void;
167
+ mouseout?: (this: any, event: MouseEvent) => void;
168
+ mousemove?: (this: any, event: MouseEvent) => void;
169
+ };
170
+ }
171
+ export interface PlotLineOptions {
172
+ value?: number;
173
+ color?: string;
174
+ width?: number;
175
+ dashStyle?: DashStyleType;
176
+ label?: {
177
+ text?: string;
178
+ align?: AlignType;
179
+ verticalAlign?: VerticalAlignType;
180
+ style?: CSSObject;
181
+ rotation?: number;
182
+ x?: number;
183
+ y?: number;
184
+ };
185
+ id?: string;
186
+ zIndex?: number;
187
+ className?: string;
188
+ events?: {
189
+ click?: (this: any, event: MouseEvent) => void;
190
+ mouseover?: (this: any, event: MouseEvent) => void;
191
+ mouseout?: (this: any, event: MouseEvent) => void;
192
+ mousemove?: (this: any, event: MouseEvent) => void;
193
+ };
194
+ }
195
+ export interface CrosshairOptions {
196
+ enabled?: boolean;
197
+ color?: string;
198
+ width?: number;
199
+ dashStyle?: DashStyleType;
200
+ snap?: boolean;
201
+ zIndex?: number;
202
+ className?: string;
203
+ label?: {
204
+ enabled?: boolean;
205
+ format?: string;
206
+ formatter?: (this: {
207
+ value: any;
208
+ }) => string;
209
+ backgroundColor?: string;
210
+ borderColor?: string;
211
+ borderRadius?: number;
212
+ borderWidth?: number;
213
+ padding?: number;
214
+ style?: CSSObject;
215
+ align?: AlignType;
216
+ };
217
+ }
218
+ export interface AxisOptions {
219
+ type?: 'linear' | 'logarithmic' | 'datetime' | 'category';
220
+ title?: AxisTitleOptions;
221
+ labels?: AxisLabelOptions;
222
+ min?: number | null;
223
+ max?: number | null;
224
+ softMin?: number;
225
+ softMax?: number;
226
+ floor?: number;
227
+ ceiling?: number;
228
+ tickInterval?: number;
229
+ minTickInterval?: number;
230
+ tickAmount?: number;
231
+ tickPixelInterval?: number;
232
+ tickLength?: number;
233
+ tickWidth?: number;
234
+ tickColor?: string;
235
+ tickPosition?: 'inside' | 'outside';
236
+ minorTickInterval?: number | 'auto' | null;
237
+ minorTickLength?: number;
238
+ minorTickWidth?: number;
239
+ minorTickColor?: string;
240
+ gridLineWidth?: number;
241
+ gridLineColor?: string;
242
+ gridLineDashStyle?: DashStyleType;
243
+ minorGridLineWidth?: number;
244
+ minorGridLineColor?: string;
245
+ lineWidth?: number;
246
+ lineColor?: string;
247
+ offset?: number;
248
+ /** Vertical pane band for stacked y-axes (stock panes): pixels or a '%' of the plot height. */
249
+ height?: number | string;
250
+ /** Top offset of a stacked y-axis pane: pixels or a '%' of the plot height. */
251
+ top?: number | string;
252
+ opposite?: boolean;
253
+ reversed?: boolean;
254
+ visible?: boolean;
255
+ showEmpty?: boolean;
256
+ categories?: string[];
257
+ crosshair?: boolean | CrosshairOptions;
258
+ plotBands?: PlotBandOptions[];
259
+ plotLines?: PlotLineOptions[];
260
+ startOnTick?: boolean;
261
+ endOnTick?: boolean;
262
+ showFirstLabel?: boolean;
263
+ showLastLabel?: boolean;
264
+ allowDecimals?: boolean;
265
+ alternateGridColor?: string;
266
+ id?: string;
267
+ linkedTo?: number;
268
+ maxPadding?: number;
269
+ minPadding?: number;
270
+ dateTimeLabelFormats?: Record<string, string>;
271
+ tickPositions?: number[];
272
+ stackLabels?: {
273
+ enabled?: boolean;
274
+ format?: string;
275
+ formatter?: (this: {
276
+ total: number;
277
+ }) => string;
278
+ style?: CSSObject;
279
+ align?: AlignType;
280
+ verticalAlign?: VerticalAlignType;
281
+ rotation?: number;
282
+ x?: number;
283
+ y?: number;
284
+ };
285
+ breaks?: {
286
+ from?: number;
287
+ to?: number;
288
+ breakSize?: number;
289
+ repeat?: number;
290
+ }[];
291
+ scrollbar?: {
292
+ enabled?: boolean;
293
+ barBackgroundColor?: string;
294
+ barBorderColor?: string;
295
+ barBorderWidth?: number;
296
+ buttonBackgroundColor?: string;
297
+ buttonBorderColor?: string;
298
+ buttonBorderWidth?: number;
299
+ rifleColor?: string;
300
+ trackBackgroundColor?: string;
301
+ trackBorderColor?: string;
302
+ trackBorderWidth?: number;
303
+ };
304
+ ordinal?: boolean;
305
+ overscroll?: number;
306
+ range?: number;
307
+ minRange?: number;
308
+ maxRange?: number;
309
+ alignTicks?: boolean;
310
+ uniqueNames?: boolean;
311
+ events?: {
312
+ afterSetExtremes?: (this: any, event: any) => void;
313
+ setExtremes?: (this: any, event: any) => void;
314
+ afterBreaks?: (this: any, event: any) => void;
315
+ pointBreak?: (this: any, event: any) => void;
316
+ };
317
+ }
318
+ export interface PointOptions {
319
+ x?: number;
320
+ y?: number | null;
321
+ z?: number;
322
+ name?: string;
323
+ color?: string;
324
+ colorIndex?: number;
325
+ id?: string;
326
+ visible?: boolean;
327
+ custom?: Record<string, any>;
328
+ description?: string;
329
+ labelrank?: number;
330
+ selected?: boolean;
331
+ sliced?: boolean;
332
+ drilldown?: string;
333
+ marker?: MarkerOptions;
334
+ dataLabels?: DataLabelOptions;
335
+ events?: {
336
+ click?: (this: any, event: MouseEvent) => void;
337
+ mouseOver?: (this: any, event: MouseEvent) => void;
338
+ mouseOut?: (this: any, event: MouseEvent) => void;
339
+ select?: (this: any, event: MouseEvent) => boolean | void;
340
+ unselect?: (this: any, event: MouseEvent) => boolean | void;
341
+ update?: (this: any, event: any) => boolean | void;
342
+ remove?: (this: any, event: any) => boolean | void;
343
+ };
344
+ accessibility?: {
345
+ description?: string;
346
+ enabled?: boolean;
347
+ };
348
+ [key: string]: any;
349
+ }
350
+ export interface MarkerOptions {
351
+ enabled?: boolean | null;
352
+ enabledThreshold?: number;
353
+ symbol?: 'circle' | 'square' | 'diamond' | 'triangle' | 'triangle-down' | string;
354
+ radius?: number;
355
+ fillColor?: string;
356
+ lineColor?: string;
357
+ lineWidth?: number;
358
+ width?: number;
359
+ height?: number;
360
+ states?: {
361
+ hover?: {
362
+ enabled?: boolean;
363
+ radius?: number;
364
+ radiusPlus?: number;
365
+ lineWidth?: number;
366
+ lineWidthPlus?: number;
367
+ fillColor?: string;
368
+ lineColor?: string;
369
+ };
370
+ select?: {
371
+ enabled?: boolean;
372
+ radius?: number;
373
+ lineWidth?: number;
374
+ fillColor?: string;
375
+ lineColor?: string;
376
+ };
377
+ };
378
+ }
379
+ export interface DataLabelOptions {
380
+ enabled?: boolean;
381
+ format?: string;
382
+ formatter?: (this: {
383
+ point: any;
384
+ series: any;
385
+ x: any;
386
+ y: any;
387
+ percentage?: number;
388
+ }) => string;
389
+ style?: CSSObject;
390
+ color?: string;
391
+ backgroundColor?: string;
392
+ borderColor?: string;
393
+ borderWidth?: number;
394
+ borderRadius?: number;
395
+ padding?: number;
396
+ align?: AlignType;
397
+ verticalAlign?: VerticalAlignType;
398
+ x?: number;
399
+ y?: number;
400
+ rotation?: number;
401
+ overflow?: 'allow' | 'justify' | 'none';
402
+ crop?: boolean;
403
+ inside?: boolean;
404
+ allowOverlap?: boolean;
405
+ useHTML?: boolean;
406
+ shadow?: boolean;
407
+ shape?: 'square' | 'callout' | 'circle' | 'diamond' | string;
408
+ alignTo?: 'plotEdges' | 'connectors';
409
+ distance?: number;
410
+ connectorWidth?: number;
411
+ connectorColor?: string;
412
+ connectorPadding?: number;
413
+ connectorShape?: 'fixedOffset' | 'straight' | 'crookedLine' | ((args: any) => string);
414
+ softConnector?: boolean;
415
+ crookDistance?: string | number;
416
+ defer?: boolean;
417
+ filter?: {
418
+ property?: string;
419
+ operator?: string;
420
+ value?: number;
421
+ };
422
+ nullFormat?: string;
423
+ nullFormatter?: (this: {
424
+ point: any;
425
+ series: any;
426
+ }) => string;
427
+ zIndex?: number;
428
+ className?: string;
429
+ position?: 'center' | 'left' | 'right';
430
+ intersections?: {
431
+ enabled?: boolean;
432
+ };
433
+ textPath?: {
434
+ enabled?: boolean;
435
+ attributes?: Record<string, any>;
436
+ };
437
+ }
438
+ export interface SankeyNodeOptions {
439
+ id: string;
440
+ name?: string;
441
+ color?: string;
442
+ column?: number;
443
+ offset?: number | string;
444
+ level?: number;
445
+ }
446
+ export interface SankeyLevelOptions {
447
+ level?: number;
448
+ color?: string;
449
+ linkOpacity?: number;
450
+ borderColor?: string;
451
+ borderWidth?: number;
452
+ colorByPoint?: boolean;
453
+ dataLabels?: DataLabelOptions;
454
+ }
455
+ export interface BorderRadiusOptions {
456
+ radius?: number;
457
+ scope?: 'point' | 'stack';
458
+ where?: 'all' | 'end';
459
+ }
460
+ export interface AnimationOptions {
461
+ duration?: number;
462
+ easing?: string;
463
+ defer?: number;
464
+ complete?: () => void;
465
+ }
466
+ export interface SeriesStatesOptions {
467
+ hover?: {
468
+ enabled?: boolean;
469
+ lineWidth?: number;
470
+ lineWidthPlus?: number;
471
+ halo?: {
472
+ size?: number;
473
+ opacity?: number;
474
+ attributes?: Record<string, any>;
475
+ };
476
+ brightness?: number;
477
+ color?: string;
478
+ borderColor?: string;
479
+ borderWidth?: number;
480
+ marker?: MarkerOptions;
481
+ animation?: AnimationOptions;
482
+ };
483
+ select?: {
484
+ enabled?: boolean;
485
+ color?: string;
486
+ borderColor?: string;
487
+ borderWidth?: number;
488
+ animation?: AnimationOptions;
489
+ };
490
+ inactive?: {
491
+ enabled?: boolean;
492
+ opacity?: number;
493
+ animation?: AnimationOptions;
494
+ };
495
+ normal?: {
496
+ animation?: AnimationOptions;
497
+ };
498
+ }
499
+ export interface ZoneOptions {
500
+ value?: number;
501
+ color?: string;
502
+ dashStyle?: DashStyleType;
503
+ fillColor?: string;
504
+ className?: string;
505
+ }
506
+ export interface GaugeDialOptions {
507
+ backgroundColor?: string;
508
+ baseLength?: string | number;
509
+ baseWidth?: number;
510
+ borderColor?: string;
511
+ borderWidth?: number;
512
+ radius?: string | number;
513
+ rearLength?: string | number;
514
+ topWidth?: number;
515
+ }
516
+ export interface GaugePivotOptions {
517
+ backgroundColor?: string;
518
+ borderColor?: string;
519
+ borderWidth?: number;
520
+ radius?: number;
521
+ }
522
+ export interface PaneOptions {
523
+ startAngle?: number;
524
+ endAngle?: number;
525
+ center?: (string | number)[];
526
+ size?: string | number;
527
+ background?: PaneBackgroundOptions | PaneBackgroundOptions[];
528
+ }
529
+ export interface PaneBackgroundOptions {
530
+ backgroundColor?: string;
531
+ borderColor?: string;
532
+ borderWidth?: number;
533
+ innerRadius?: string | number;
534
+ outerRadius?: string | number;
535
+ shape?: 'circle' | 'arc';
536
+ }
537
+ export interface TreemapLevelOptions {
538
+ level?: number;
539
+ color?: string;
540
+ borderColor?: string;
541
+ borderWidth?: number;
542
+ colorByPoint?: boolean;
543
+ colorVariation?: {
544
+ key?: string;
545
+ to?: number;
546
+ };
547
+ dataLabels?: DataLabelOptions;
548
+ layoutAlgorithm?: string;
549
+ }
550
+ /**
551
+ * Confidence-region ellipse for a PCoA / ordination series. Either pass a precomputed
552
+ * polygon (`boundary`) or parametric coordinates (`cx`, `cy`, `rx`, `ry`, `rotation`).
553
+ * The chart folds these bounds into the axis domain so the ellipse always fits
554
+ * inside the plot area.
555
+ */
556
+ export interface PCoAEllipseOptions {
557
+ cx?: number;
558
+ cy?: number;
559
+ rx?: number;
560
+ ry?: number;
561
+ rotation?: number;
562
+ boundary?: [number, number][];
563
+ fill?: string;
564
+ fillOpacity?: number;
565
+ stroke?: string;
566
+ strokeWidth?: number;
567
+ }
568
+ export interface SeriesOptions {
569
+ type?: SeriesType;
570
+ ellipse?: PCoAEllipseOptions;
571
+ name?: string;
572
+ data?: (number | [number, number] | [number, number, number] | [string, number] | PointOptions | null)[];
573
+ id?: string;
574
+ index?: number;
575
+ legendIndex?: number;
576
+ legendType?: 'point' | 'series';
577
+ color?: string;
578
+ colorIndex?: number;
579
+ visible?: boolean;
580
+ showInLegend?: boolean;
581
+ xAxis?: number | string;
582
+ yAxis?: number | string;
583
+ zIndex?: number;
584
+ cursor?: CursorType;
585
+ opacity?: number;
586
+ className?: string;
587
+ lineWidth?: number;
588
+ lineColor?: string;
589
+ dashStyle?: DashStyleType;
590
+ fillColor?: string;
591
+ fillOpacity?: number;
592
+ negativeColor?: string;
593
+ negativeFillColor?: string;
594
+ threshold?: number | null;
595
+ softThreshold?: boolean;
596
+ marker?: MarkerOptions;
597
+ dataLabels?: DataLabelOptions;
598
+ states?: SeriesStatesOptions;
599
+ animation?: boolean | AnimationOptions;
600
+ enableMouseTracking?: boolean;
601
+ stickyTracking?: boolean;
602
+ allowPointSelect?: boolean;
603
+ selected?: boolean;
604
+ stack?: string | number;
605
+ stacking?: 'normal' | 'percent' | 'overlap' | 'stream' | null;
606
+ step?: 'left' | 'center' | 'right' | false;
607
+ connectNulls?: boolean;
608
+ clip?: boolean;
609
+ zones?: ZoneOptions[];
610
+ zoneAxis?: 'x' | 'y';
611
+ linkedTo?: string;
612
+ /** Technical-indicator parameters (e.g. { period: 14, stdDev: 2 }) for indicator series types. */
613
+ params?: Record<string, number>;
614
+ tooltip?: TooltipOptions;
615
+ turboThreshold?: number;
616
+ cropThreshold?: number;
617
+ pointStart?: number;
618
+ pointInterval?: number;
619
+ pointIntervalUnit?: 'day' | 'month' | 'year';
620
+ pointPlacement?: 'on' | 'between' | number;
621
+ pointPadding?: number;
622
+ groupPadding?: number;
623
+ borderWidth?: number;
624
+ borderColor?: string;
625
+ borderRadius?: number | BorderRadiusOptions;
626
+ colorByPoint?: boolean;
627
+ colors?: string[];
628
+ innerSize?: string | number;
629
+ size?: string | number;
630
+ center?: (string | number)[];
631
+ startAngle?: number;
632
+ endAngle?: number;
633
+ depth?: number;
634
+ minSize?: string | number;
635
+ maxSize?: string | number;
636
+ sizeBy?: 'area' | 'width';
637
+ drilldown?: string;
638
+ shadow?: boolean | {
639
+ color?: string;
640
+ offsetX?: number;
641
+ offsetY?: number;
642
+ width?: number;
643
+ opacity?: number;
644
+ };
645
+ linecap?: 'round' | 'square' | 'butt';
646
+ findNearestPointBy?: 'x' | 'xy';
647
+ crisp?: boolean;
648
+ trackByArea?: boolean;
649
+ grouping?: boolean;
650
+ centerInCategory?: boolean;
651
+ maxPointWidth?: number;
652
+ minPointLength?: number;
653
+ pointWidth?: number;
654
+ pointRange?: number;
655
+ showCheckbox?: boolean;
656
+ connectEnds?: boolean;
657
+ getExtremesFromAll?: boolean;
658
+ animationLimit?: number;
659
+ boostThreshold?: number;
660
+ relativeXValue?: boolean;
661
+ jitter?: {
662
+ x?: number;
663
+ y?: number;
664
+ };
665
+ displayNegative?: boolean;
666
+ sizeByAbsoluteValue?: boolean;
667
+ zMin?: number;
668
+ zMax?: number;
669
+ zThreshold?: number;
670
+ upColor?: string;
671
+ upLineColor?: string;
672
+ downColor?: string;
673
+ downLineColor?: string;
674
+ sumColor?: string;
675
+ intermediateSumColor?: string;
676
+ streaming?: StreamingOptions;
677
+ onSeries?: string;
678
+ shape?: 'flag' | 'circlepin' | 'squarepin';
679
+ brickSize?: number;
680
+ reversalAmount?: number;
681
+ boxSize?: number;
682
+ lineBreakCount?: number;
683
+ topLine?: {
684
+ color?: string;
685
+ fillColor?: string;
686
+ fillOpacity?: number;
687
+ };
688
+ bottomLine?: {
689
+ color?: string;
690
+ fillColor?: string;
691
+ fillOpacity?: number;
692
+ };
693
+ slicedOffset?: number;
694
+ ignoreHiddenPoint?: boolean;
695
+ dial?: GaugeDialOptions;
696
+ pivot?: GaugePivotOptions;
697
+ wrap?: boolean;
698
+ overshoot?: number;
699
+ pane?: PaneOptions;
700
+ colsize?: number;
701
+ rowsize?: number;
702
+ nullColor?: string;
703
+ interpolation?: boolean;
704
+ layoutAlgorithm?: 'squarified' | 'strip' | 'stripes' | 'sliceAndDice' | 'binary' | 'dice' | 'slice' | 'sliceDice';
705
+ layoutStartingDirection?: 'vertical' | 'horizontal';
706
+ sortIndex?: number;
707
+ levels?: TreemapLevelOptions[];
708
+ alternateStartingDirection?: boolean;
709
+ interactByLeaf?: boolean;
710
+ allowTraversingTree?: boolean;
711
+ allowDrillToNode?: boolean;
712
+ traverseUpButton?: {
713
+ position?: {
714
+ align?: AlignType;
715
+ verticalAlign?: VerticalAlignType;
716
+ x?: number;
717
+ y?: number;
718
+ };
719
+ theme?: Record<string, any>;
720
+ };
721
+ levelIsConstant?: boolean;
722
+ levelSize?: {
723
+ unit?: 'weight' | 'percentage' | 'pixels';
724
+ value?: number;
725
+ };
726
+ rootId?: string;
727
+ linkColorMode?: 'from' | 'to' | 'gradient';
728
+ linkOpacity?: number;
729
+ nodePadding?: number;
730
+ nodeWidth?: number | 'auto';
731
+ nodeDistance?: number;
732
+ minLinkWidth?: number;
733
+ curveFactor?: number;
734
+ /**
735
+ * Label placement strategy for the dependency-wheel chart.
736
+ * - `max` (default): leader-line labels fanned across staggered columns when crowded.
737
+ * - `medium`: leader-line labels but only the highest-value names when crowded, single column.
738
+ * - `small`: radial rotated labels hugging the rim, all names shown and truncated, no connectors.
739
+ */
740
+ labelType?: 'max' | 'medium' | 'small';
741
+ centerNodes?: boolean;
742
+ spreadFactor?: number;
743
+ draggable?: boolean;
744
+ borderDashStyle?: DashStyleType;
745
+ medianColor?: string;
746
+ medianDashStyle?: DashStyleType;
747
+ medianWidth?: number;
748
+ stemColor?: string;
749
+ stemDashStyle?: DashStyleType;
750
+ stemWidth?: number;
751
+ whiskerColor?: string;
752
+ whiskerDashStyle?: DashStyleType;
753
+ whiskerLength?: string | number;
754
+ whiskerWidth?: number;
755
+ boxDashStyle?: DashStyleType;
756
+ events?: {
757
+ click?: (this: any, event: any) => void;
758
+ mouseOver?: (this: any, event: any) => void;
759
+ mouseOut?: (this: any, event: any) => void;
760
+ legendItemClick?: (this: any, event: any) => boolean | void;
761
+ show?: (this: any, event: any) => void;
762
+ hide?: (this: any, event: any) => void;
763
+ afterAnimate?: (this: any, event: any) => void;
764
+ checkboxClick?: (this: any, event: any) => boolean | void;
765
+ };
766
+ point?: {
767
+ events?: PointOptions['events'];
768
+ };
769
+ keys?: string[];
770
+ [key: string]: any;
771
+ }
772
+ export interface TooltipOptions {
773
+ enabled?: boolean;
774
+ shared?: boolean;
775
+ split?: boolean;
776
+ useHTML?: boolean;
777
+ followPointer?: boolean;
778
+ followTouchMove?: boolean;
779
+ format?: string;
780
+ headerFormat?: string;
781
+ pointFormat?: string;
782
+ pointFormatter?: (this: {
783
+ point: any;
784
+ series: any;
785
+ x: any;
786
+ y: any;
787
+ percentage?: number;
788
+ total?: number;
789
+ key?: any;
790
+ color?: string;
791
+ }) => string;
792
+ footerFormat?: string;
793
+ formatter?: (this: {
794
+ point: any;
795
+ series: any;
796
+ x: any;
797
+ y: any;
798
+ percentage?: number;
799
+ total?: number;
800
+ key?: any;
801
+ color?: string;
802
+ points?: any[];
803
+ }) => string | false;
804
+ positioner?: (labelWidth: number, labelHeight: number, point: any) => {
805
+ x: number;
806
+ y: number;
807
+ };
808
+ valueDecimals?: number;
809
+ valuePrefix?: string;
810
+ valueSuffix?: string;
811
+ xDateFormat?: string;
812
+ backgroundColor?: string;
813
+ borderColor?: string;
814
+ borderWidth?: number;
815
+ borderRadius?: number;
816
+ padding?: number;
817
+ shadow?: boolean;
818
+ style?: CSSObject;
819
+ animation?: boolean;
820
+ hideDelay?: number;
821
+ snap?: number;
822
+ distance?: number;
823
+ outside?: boolean;
824
+ stickOnContact?: boolean;
825
+ zIndex?: number;
826
+ shape?: 'callout' | 'square' | 'circle' | string;
827
+ headerShape?: 'callout' | 'square' | 'circle' | string;
828
+ nullFormat?: string;
829
+ nullFormatter?: (this: {
830
+ point: any;
831
+ series: any;
832
+ }) => string;
833
+ className?: string;
834
+ crosshairs?: boolean | CrosshairOptions | [boolean | CrosshairOptions, boolean | CrosshairOptions];
835
+ dateTimeLabelFormats?: Record<string, string>;
836
+ }
837
+ export interface LegendOptions {
838
+ enabled?: boolean;
839
+ layout?: 'horizontal' | 'vertical' | 'proximate';
840
+ align?: AlignType;
841
+ verticalAlign?: VerticalAlignType;
842
+ floating?: boolean;
843
+ x?: number;
844
+ y?: number;
845
+ margin?: number;
846
+ padding?: number;
847
+ itemMarginTop?: number;
848
+ itemMarginBottom?: number;
849
+ itemDistance?: number;
850
+ itemWidth?: number;
851
+ maxHeight?: number;
852
+ maxWidth?: number;
853
+ lineHeight?: number;
854
+ valueDecimals?: number;
855
+ valueSuffix?: string;
856
+ navigation?: {
857
+ activeColor?: string;
858
+ inactiveColor?: string;
859
+ arrowSize?: number;
860
+ style?: CSSObject;
861
+ animation?: boolean | AnimationOptions;
862
+ enabled?: boolean;
863
+ };
864
+ itemStyle?: CSSObject;
865
+ itemHoverStyle?: CSSObject;
866
+ itemHiddenStyle?: CSSObject;
867
+ itemCheckboxStyle?: CSSObject;
868
+ symbolWidth?: number;
869
+ symbolHeight?: number;
870
+ symbolRadius?: number;
871
+ symbolPadding?: number;
872
+ squareSymbol?: boolean;
873
+ backgroundColor?: string;
874
+ borderColor?: string;
875
+ borderWidth?: number;
876
+ borderRadius?: number;
877
+ shadow?: boolean;
878
+ reversed?: boolean;
879
+ rtl?: boolean;
880
+ className?: string;
881
+ title?: {
882
+ text?: string;
883
+ style?: CSSObject;
884
+ };
885
+ labelFormatter?: (this: {
886
+ name: string;
887
+ color: string;
888
+ percentage?: number;
889
+ total?: number;
890
+ index?: number;
891
+ legendIndex?: number;
892
+ options: SeriesOptions;
893
+ }) => string;
894
+ labelFormat?: string;
895
+ useHTML?: boolean;
896
+ width?: number;
897
+ bubbleLegend?: {
898
+ enabled?: boolean;
899
+ layout?: 'nested' | 'separate';
900
+ borderColor?: string;
901
+ borderWidth?: number;
902
+ color?: string;
903
+ connectorColor?: string;
904
+ connectorDistance?: number;
905
+ connectorWidth?: number;
906
+ legendIndex?: number;
907
+ maxSize?: number;
908
+ minSize?: number;
909
+ ranges?: {
910
+ value?: number;
911
+ borderColor?: string;
912
+ color?: string;
913
+ connectorColor?: string;
914
+ }[];
915
+ sizeBy?: 'area' | 'width';
916
+ zIndex?: number;
917
+ labels?: {
918
+ align?: AlignType;
919
+ format?: string;
920
+ formatter?: (this: {
921
+ value: number;
922
+ }) => string;
923
+ style?: CSSObject;
924
+ };
925
+ };
926
+ events?: {
927
+ itemClick?: (this: any, event: any) => boolean | void;
928
+ };
929
+ }
930
+ export interface CreditsOptions {
931
+ enabled?: boolean;
932
+ text?: string;
933
+ href?: string;
934
+ position?: {
935
+ align?: AlignType;
936
+ verticalAlign?: VerticalAlignType;
937
+ x?: number;
938
+ y?: number;
939
+ };
940
+ style?: CSSObject;
941
+ }
942
+ export interface ExportingOptions {
943
+ enabled?: boolean;
944
+ buttons?: {
945
+ contextButton?: {
946
+ enabled?: boolean;
947
+ menuItems?: string[];
948
+ symbol?: string;
949
+ symbolFill?: string;
950
+ symbolStroke?: string;
951
+ symbolStrokeWidth?: number;
952
+ theme?: Record<string, any>;
953
+ x?: number;
954
+ y?: number;
955
+ };
956
+ };
957
+ filename?: string;
958
+ type?: 'image/png' | 'image/jpeg' | 'image/svg+xml' | 'application/pdf';
959
+ width?: number;
960
+ scale?: number;
961
+ sourceWidth?: number;
962
+ sourceHeight?: number;
963
+ chartOptions?: Partial<KatuChartsOptions>;
964
+ fallbackToExportServer?: boolean;
965
+ printMaxWidth?: number;
966
+ menuClassName?: string;
967
+ menuItemDefinitions?: Record<string, {
968
+ text?: string;
969
+ onclick?: () => void;
970
+ }>;
971
+ formAttributes?: Record<string, string>;
972
+ libURL?: string;
973
+ tableCaption?: string | boolean;
974
+ csv?: {
975
+ columnHeaderFormatter?: (item: any, key?: string, keyLength?: number) => string | false;
976
+ dateFormat?: string;
977
+ itemDelimiter?: string;
978
+ lineDelimiter?: string;
979
+ decimalPoint?: string;
980
+ };
981
+ }
982
+ export interface LoadingOptions {
983
+ hideDuration?: number;
984
+ showDuration?: number;
985
+ labelStyle?: CSSObject;
986
+ style?: CSSObject;
987
+ }
988
+ export interface NavigatorOptions {
989
+ enabled?: boolean;
990
+ height?: number;
991
+ margin?: number;
992
+ maskFill?: string;
993
+ maskInside?: boolean;
994
+ outlineColor?: string;
995
+ outlineWidth?: number;
996
+ adaptToUpdatedData?: boolean;
997
+ baseSeries?: number | string;
998
+ handles?: {
999
+ backgroundColor?: string;
1000
+ borderColor?: string;
1001
+ width?: number;
1002
+ height?: number;
1003
+ enabled?: boolean;
1004
+ lineWidth?: number;
1005
+ symbols?: string[];
1006
+ };
1007
+ series?: Partial<SeriesOptions>;
1008
+ xAxis?: Partial<AxisOptions>;
1009
+ yAxis?: Partial<AxisOptions>;
1010
+ }
1011
+ export interface RangeSelectorOptions {
1012
+ enabled?: boolean;
1013
+ selected?: number;
1014
+ allButtonsEnabled?: boolean;
1015
+ buttons?: {
1016
+ type?: 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'ytd' | 'year' | 'all';
1017
+ count?: number;
1018
+ text?: string;
1019
+ title?: string;
1020
+ dataGrouping?: {
1021
+ forced?: boolean;
1022
+ units?: [string, number[] | null][];
1023
+ };
1024
+ events?: {
1025
+ click?: (this: any, event: any) => void;
1026
+ };
1027
+ }[];
1028
+ inputEnabled?: boolean;
1029
+ inputDateFormat?: string;
1030
+ inputEditDateFormat?: string;
1031
+ inputDateParser?: (value: string) => number;
1032
+ inputPosition?: {
1033
+ align?: AlignType;
1034
+ x?: number;
1035
+ y?: number;
1036
+ };
1037
+ buttonPosition?: {
1038
+ align?: AlignType;
1039
+ x?: number;
1040
+ y?: number;
1041
+ };
1042
+ buttonSpacing?: number;
1043
+ buttonTheme?: Record<string, any>;
1044
+ inputBoxBorderColor?: string;
1045
+ inputBoxHeight?: number;
1046
+ inputBoxWidth?: number;
1047
+ inputStyle?: CSSObject;
1048
+ labelStyle?: CSSObject;
1049
+ floating?: boolean;
1050
+ dropdown?: 'always' | 'never' | 'responsive';
1051
+ verticalAlign?: VerticalAlignType;
1052
+ x?: number;
1053
+ y?: number;
1054
+ }
1055
+ export interface DrilldownOptions {
1056
+ activeAxisLabelStyle?: CSSObject;
1057
+ activeDataLabelStyle?: CSSObject;
1058
+ animation?: boolean | AnimationOptions;
1059
+ allowPointDrilldown?: boolean;
1060
+ drillUpButton?: {
1061
+ position?: {
1062
+ align?: AlignType;
1063
+ verticalAlign?: VerticalAlignType;
1064
+ x?: number;
1065
+ y?: number;
1066
+ };
1067
+ relativeTo?: 'plotBox' | 'spacingBox';
1068
+ theme?: Record<string, any>;
1069
+ };
1070
+ breadcrumbs?: false | {
1071
+ enabled?: boolean;
1072
+ format?: string;
1073
+ formatter?: (this: {
1074
+ level: number;
1075
+ levelOptions: any;
1076
+ }) => string;
1077
+ position?: {
1078
+ align?: AlignType;
1079
+ verticalAlign?: VerticalAlignType;
1080
+ x?: number;
1081
+ y?: number;
1082
+ };
1083
+ showFullPath?: boolean;
1084
+ showBackButton?: boolean;
1085
+ rootText?: string;
1086
+ separator?: {
1087
+ text?: string;
1088
+ style?: CSSObject;
1089
+ };
1090
+ style?: CSSObject;
1091
+ floating?: boolean;
1092
+ relativeTo?: 'plotBox' | 'spacingBox';
1093
+ events?: {
1094
+ click?: (this: any, event: any) => void;
1095
+ };
1096
+ };
1097
+ series?: SeriesOptions[];
1098
+ }
1099
+ export interface ResponsiveRuleOptions {
1100
+ condition: {
1101
+ maxWidth?: number;
1102
+ maxHeight?: number;
1103
+ minWidth?: number;
1104
+ minHeight?: number;
1105
+ callback?: () => boolean;
1106
+ };
1107
+ chartOptions: Partial<KatuChartsOptions>;
1108
+ }
1109
+ export interface ResponsiveOptions {
1110
+ rules?: ResponsiveRuleOptions[];
1111
+ }
1112
+ export interface AccessibilityOptions {
1113
+ enabled?: boolean;
1114
+ description?: string;
1115
+ keyboardNavigation?: {
1116
+ enabled?: boolean;
1117
+ focusBorder?: {
1118
+ enabled?: boolean;
1119
+ style?: CSSObject;
1120
+ margin?: number;
1121
+ };
1122
+ order?: string[];
1123
+ seriesNavigation?: {
1124
+ mode?: 'normal' | 'serialize';
1125
+ skipNullPoints?: boolean;
1126
+ pointNavigationEnabledThreshold?: number;
1127
+ };
1128
+ };
1129
+ announceNewData?: {
1130
+ enabled?: boolean;
1131
+ minAnnounceInterval?: number;
1132
+ interruptUser?: boolean;
1133
+ };
1134
+ screenReaderSection?: {
1135
+ beforeChartFormat?: string;
1136
+ afterChartFormat?: string;
1137
+ };
1138
+ point?: {
1139
+ valueDescriptionFormat?: string;
1140
+ descriptionFormatter?: (point: any) => string;
1141
+ };
1142
+ series?: {
1143
+ descriptionFormat?: string;
1144
+ describeSingleSeries?: boolean;
1145
+ };
1146
+ landmarkVerbosity?: 'all' | 'one' | 'disabled';
1147
+ highContrastMode?: 'auto' | boolean;
1148
+ highContrastTheme?: Record<string, any>;
1149
+ typeDescription?: string;
1150
+ linkedDescription?: string;
1151
+ customComponents?: Record<string, any>;
1152
+ }
1153
+ export interface MapNavigationOptions {
1154
+ enabled?: boolean;
1155
+ enableButtons?: boolean;
1156
+ enableDoubleClickZoom?: boolean;
1157
+ enableMouseWheelZoom?: boolean;
1158
+ enableDrag?: boolean;
1159
+ maxZoom?: number;
1160
+ buttonOptions?: {
1161
+ align?: AlignType;
1162
+ verticalAlign?: VerticalAlignType;
1163
+ x?: number;
1164
+ y?: number;
1165
+ theme?: Record<string, any>;
1166
+ };
1167
+ }
1168
+ export interface ColorAxisOptions {
1169
+ min?: number;
1170
+ max?: number;
1171
+ stops?: [number, string][];
1172
+ minColor?: string;
1173
+ maxColor?: string;
1174
+ type?: 'linear' | 'logarithmic';
1175
+ reversed?: boolean;
1176
+ labels?: AxisLabelOptions;
1177
+ marker?: {
1178
+ color?: string;
1179
+ };
1180
+ gridLineWidth?: number;
1181
+ tickInterval?: number;
1182
+ dataClasses?: {
1183
+ from?: number;
1184
+ to?: number;
1185
+ color?: string;
1186
+ name?: string;
1187
+ }[];
1188
+ }
1189
+ export interface PlotOptionsSeriesOptions extends Omit<SeriesOptions, 'data' | 'id' | 'name'> {
1190
+ }
1191
+ export interface PlotOptions {
1192
+ series?: PlotOptionsSeriesOptions;
1193
+ line?: PlotOptionsSeriesOptions;
1194
+ spline?: PlotOptionsSeriesOptions;
1195
+ area?: PlotOptionsSeriesOptions;
1196
+ areaspline?: PlotOptionsSeriesOptions;
1197
+ column?: PlotOptionsSeriesOptions;
1198
+ bar?: PlotOptionsSeriesOptions;
1199
+ scatter?: PlotOptionsSeriesOptions;
1200
+ bubble?: PlotOptionsSeriesOptions;
1201
+ pie?: PlotOptionsSeriesOptions;
1202
+ heatmap?: PlotOptionsSeriesOptions;
1203
+ treemap?: PlotOptionsSeriesOptions;
1204
+ sunburst?: PlotOptionsSeriesOptions;
1205
+ sankey?: PlotOptionsSeriesOptions;
1206
+ gauge?: PlotOptionsSeriesOptions;
1207
+ solidgauge?: PlotOptionsSeriesOptions;
1208
+ candlestick?: PlotOptionsSeriesOptions;
1209
+ ohlc?: PlotOptionsSeriesOptions;
1210
+ waterfall?: PlotOptionsSeriesOptions;
1211
+ boxplot?: PlotOptionsSeriesOptions;
1212
+ funnel?: PlotOptionsSeriesOptions;
1213
+ pyramid?: PlotOptionsSeriesOptions;
1214
+ networkgraph?: PlotOptionsSeriesOptions;
1215
+ dependencywheel?: PlotOptionsSeriesOptions;
1216
+ timeline?: PlotOptionsSeriesOptions;
1217
+ gantt?: PlotOptionsSeriesOptions;
1218
+ map?: PlotOptionsSeriesOptions;
1219
+ barchartrace?: PlotOptionsSeriesOptions;
1220
+ polar?: PlotOptionsSeriesOptions;
1221
+ radar?: PlotOptionsSeriesOptions;
1222
+ venn?: PlotOptionsSeriesOptions;
1223
+ arearange?: PlotOptionsSeriesOptions;
1224
+ volcano?: PlotOptionsSeriesOptions;
1225
+ manhattan?: PlotOptionsSeriesOptions;
1226
+ violin?: PlotOptionsSeriesOptions;
1227
+ kaplanmeier?: PlotOptionsSeriesOptions;
1228
+ forestplot?: PlotOptionsSeriesOptions;
1229
+ sequencelogo?: PlotOptionsSeriesOptions;
1230
+ clusteredheatmap?: PlotOptionsSeriesOptions;
1231
+ phylotree?: PlotOptionsSeriesOptions;
1232
+ circos?: PlotOptionsSeriesOptions;
1233
+ heikinashi?: PlotOptionsSeriesOptions;
1234
+ hollowcandlestick?: PlotOptionsSeriesOptions;
1235
+ volume?: PlotOptionsSeriesOptions;
1236
+ baseline?: PlotOptionsSeriesOptions;
1237
+ flags?: PlotOptionsSeriesOptions;
1238
+ renko?: PlotOptionsSeriesOptions;
1239
+ kagi?: PlotOptionsSeriesOptions;
1240
+ pointandfigure?: PlotOptionsSeriesOptions;
1241
+ linebreak?: PlotOptionsSeriesOptions;
1242
+ [key: string]: PlotOptionsSeriesOptions | undefined;
1243
+ }
1244
+ export interface TimeOptions {
1245
+ useUTC?: boolean;
1246
+ }
1247
+ export interface KatuChartsOptions {
1248
+ chart?: ChartOptions;
1249
+ title?: TitleOptions;
1250
+ subtitle?: SubtitleOptions;
1251
+ xAxis?: AxisOptions | AxisOptions[];
1252
+ yAxis?: AxisOptions | AxisOptions[];
1253
+ colorAxis?: ColorAxisOptions | ColorAxisOptions[];
1254
+ series?: SeriesOptions[];
1255
+ tooltip?: TooltipOptions;
1256
+ legend?: LegendOptions;
1257
+ plotOptions?: PlotOptions;
1258
+ credits?: CreditsOptions;
1259
+ exporting?: ExportingOptions;
1260
+ loading?: LoadingOptions;
1261
+ navigator?: NavigatorOptions;
1262
+ rangeSelector?: RangeSelectorOptions;
1263
+ drilldown?: DrilldownOptions;
1264
+ responsive?: ResponsiveOptions;
1265
+ accessibility?: AccessibilityOptions;
1266
+ colors?: string[];
1267
+ /**
1268
+ * Name of a predefined theme to apply (e.g. `'ocean'`, `'ocean-dark'`). A theme
1269
+ * overwrites every color surface — series colors, background, axis, text,
1270
+ * tooltip and legend — while any option set directly still takes precedence.
1271
+ */
1272
+ theme?: string;
1273
+ lang?: Record<string, string>;
1274
+ /** Date/time handling. `useUTC` (default true) controls whether dates render in UTC or local time. */
1275
+ time?: TimeOptions;
1276
+ /** Top-level map options (also accepted on the map series). */
1277
+ mapNavigation?: MapNavigationOptions;
1278
+ mapView?: MapViewOptions;
1279
+ }
1280
+ /** Map view — the projection is consumed; center/zoom reserved for future use. */
1281
+ export interface MapViewOptions {
1282
+ projection?: {
1283
+ name?: string;
1284
+ rotation?: number[];
1285
+ parallels?: number[];
1286
+ [key: string]: any;
1287
+ };
1288
+ center?: [number, number];
1289
+ zoom?: number;
1290
+ [key: string]: any;
1291
+ }
1292
+ export interface InternalAxisConfig extends AxisOptions {
1293
+ index: number;
1294
+ isX: boolean;
1295
+ _inverted?: boolean;
1296
+ /** Chart background, so axis text can default to a readable (adaptive) color. */
1297
+ _backgroundColor?: string;
1298
+ }
1299
+ export interface InternalSeriesConfig extends SeriesOptions {
1300
+ index: number;
1301
+ _internalType: SeriesType;
1302
+ _xAxisIndex: number;
1303
+ _yAxisIndex: number;
1304
+ _processedData: PointOptions[];
1305
+ }
1306
+ export interface InternalConfig {
1307
+ chart: Required<Pick<ChartOptions, 'width' | 'height' | 'backgroundColor' | 'animation' | 'reflow'>> & ChartOptions;
1308
+ title: TitleOptions;
1309
+ subtitle: SubtitleOptions;
1310
+ xAxis: InternalAxisConfig[];
1311
+ yAxis: InternalAxisConfig[];
1312
+ colorAxis: ColorAxisOptions[];
1313
+ series: InternalSeriesConfig[];
1314
+ tooltip: TooltipOptions;
1315
+ legend: LegendOptions;
1316
+ plotOptions: PlotOptions;
1317
+ credits: CreditsOptions;
1318
+ exporting: ExportingOptions;
1319
+ loading: LoadingOptions;
1320
+ navigator: NavigatorOptions;
1321
+ rangeSelector: RangeSelectorOptions;
1322
+ drilldown: DrilldownOptions;
1323
+ responsive: ResponsiveOptions;
1324
+ accessibility: AccessibilityOptions;
1325
+ colors: string[];
1326
+ time?: TimeOptions;
1327
+ }
1328
+ export interface PlotArea {
1329
+ x: number;
1330
+ y: number;
1331
+ width: number;
1332
+ height: number;
1333
+ }