@gravity-ui/chartkit 0.9.0 → 0.10.0

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 (189) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/build/components/ChartKit.css +23 -0
  3. package/build/components/ChartKit.d.ts +0 -1
  4. package/build/components/ChartKit.js +4 -5
  5. package/build/i18n/keysets/en.json +60 -0
  6. package/build/i18n/keysets/ru.json +62 -0
  7. package/build/libs/chartkit-error/chartkit-error.d.ts +1 -0
  8. package/build/libs/chartkit-error/chartkit-error.js +1 -0
  9. package/build/libs/settings/__tests__/settings.test.js +1 -1
  10. package/build/libs/settings/settings.d.ts +6 -3
  11. package/build/libs/settings/settings.js +4 -2
  12. package/build/plugins/highcharts/__stories__/AreaRange.stories.d.ts +4 -0
  13. package/build/plugins/highcharts/__stories__/AreaRange.stories.js +22 -0
  14. package/build/plugins/highcharts/__stories__/Line.stories.d.ts +4 -0
  15. package/build/plugins/highcharts/__stories__/Line.stories.js +21 -0
  16. package/build/plugins/highcharts/__stories__/mocks/area-range.d.ts +2 -0
  17. package/build/plugins/highcharts/__stories__/mocks/area-range.js +61 -0
  18. package/build/plugins/highcharts/__stories__/mocks/holidays.d.ts +7070 -0
  19. package/build/plugins/highcharts/__stories__/mocks/holidays.js +7065 -0
  20. package/build/plugins/highcharts/__stories__/mocks/line.d.ts +2 -0
  21. package/build/plugins/highcharts/__stories__/mocks/line.js +129 -0
  22. package/build/plugins/highcharts/index.d.ts +2 -0
  23. package/build/plugins/highcharts/index.js +5 -0
  24. package/build/plugins/highcharts/renderer/HighchartsWidget.d.ts +23 -0
  25. package/build/plugins/highcharts/renderer/HighchartsWidget.js +6 -0
  26. package/build/plugins/highcharts/renderer/components/HighchartsComponent.css +4 -0
  27. package/build/plugins/highcharts/renderer/components/HighchartsComponent.d.ts +575 -0
  28. package/build/plugins/highcharts/renderer/components/HighchartsComponent.js +115 -0
  29. package/build/plugins/highcharts/renderer/components/StyledSplitPane/StyledSplitPane.css +50 -0
  30. package/build/plugins/highcharts/renderer/components/StyledSplitPane/StyledSplitPane.d.ts +10 -0
  31. package/build/plugins/highcharts/renderer/components/StyledSplitPane/StyledSplitPane.js +32 -0
  32. package/build/plugins/highcharts/renderer/components/withSplitPane/WithSplitPane.css +4 -0
  33. package/build/plugins/highcharts/renderer/components/withSplitPane/withSplitPane.d.ts +10 -0
  34. package/build/plugins/highcharts/renderer/components/withSplitPane/withSplitPane.js +207 -0
  35. package/build/plugins/highcharts/renderer/helpers/add-holidays.d.ts +1 -0
  36. package/build/plugins/highcharts/renderer/helpers/add-holidays.js +43 -0
  37. package/build/plugins/highcharts/renderer/helpers/comments/drawing.d.ts +11 -0
  38. package/build/plugins/highcharts/renderer/helpers/comments/drawing.js +571 -0
  39. package/build/plugins/highcharts/renderer/helpers/config/config.d.ts +575 -0
  40. package/build/plugins/highcharts/renderer/helpers/config/config.js +1483 -0
  41. package/build/plugins/highcharts/renderer/helpers/config/handleLegendItemClick.d.ts +1 -0
  42. package/build/plugins/highcharts/renderer/helpers/config/handleLegendItemClick.js +57 -0
  43. package/build/plugins/highcharts/renderer/helpers/config/options.d.ts +465 -0
  44. package/build/plugins/highcharts/renderer/helpers/config/options.js +350 -0
  45. package/build/plugins/highcharts/renderer/helpers/config/types.d.ts +6 -0
  46. package/build/plugins/highcharts/renderer/helpers/config/types.js +1 -0
  47. package/build/plugins/highcharts/renderer/helpers/config/utils/addShowInNavigatorToSeries.d.ts +10 -0
  48. package/build/plugins/highcharts/renderer/helpers/config/utils/addShowInNavigatorToSeries.js +42 -0
  49. package/build/plugins/highcharts/renderer/helpers/config/utils/addShowInNavigatorToSeries.test.d.ts +1 -0
  50. package/build/plugins/highcharts/renderer/helpers/config/utils/addShowInNavigatorToSeries.test.js +99 -0
  51. package/build/plugins/highcharts/renderer/helpers/config/utils/buildNavigatorFallback.d.ts +1 -0
  52. package/build/plugins/highcharts/renderer/helpers/config/utils/buildNavigatorFallback.js +17 -0
  53. package/build/plugins/highcharts/renderer/helpers/config/utils/buildNavigatorFallback.test.d.ts +1 -0
  54. package/build/plugins/highcharts/renderer/helpers/config/utils/buildNavigatorFallback.test.js +28 -0
  55. package/build/plugins/highcharts/renderer/helpers/config/utils/calculatePrecision.d.ts +5 -0
  56. package/build/plugins/highcharts/renderer/helpers/config/utils/calculatePrecision.js +20 -0
  57. package/build/plugins/highcharts/renderer/helpers/config/utils/calculatePrecision.test.d.ts +1 -0
  58. package/build/plugins/highcharts/renderer/helpers/config/utils/calculatePrecision.test.js +27 -0
  59. package/build/plugins/highcharts/renderer/helpers/config/utils/concatStrings.d.ts +1 -0
  60. package/build/plugins/highcharts/renderer/helpers/config/utils/concatStrings.js +1 -0
  61. package/build/plugins/highcharts/renderer/helpers/config/utils/getChartKitFormattedValue.d.ts +2 -0
  62. package/build/plugins/highcharts/renderer/helpers/config/utils/getChartKitFormattedValue.js +15 -0
  63. package/build/plugins/highcharts/renderer/helpers/config/utils/getFormatOptionsFromLine.d.ts +3 -0
  64. package/build/plugins/highcharts/renderer/helpers/config/utils/getFormatOptionsFromLine.js +15 -0
  65. package/build/plugins/highcharts/renderer/helpers/config/utils/getFormatOptionsFromLine.test.d.ts +1 -0
  66. package/build/plugins/highcharts/renderer/helpers/config/utils/getFormatOptionsFromLine.test.js +11 -0
  67. package/build/plugins/highcharts/renderer/helpers/config/utils/getXAxisThresholdValue.d.ts +1 -0
  68. package/build/plugins/highcharts/renderer/helpers/config/utils/getXAxisThresholdValue.js +9 -0
  69. package/build/plugins/highcharts/renderer/helpers/config/utils/getXAxisThresholdValue.test.d.ts +1 -0
  70. package/build/plugins/highcharts/renderer/helpers/config/utils/getXAxisThresholdValue.test.js +20 -0
  71. package/build/plugins/highcharts/renderer/helpers/config/utils/index.d.ts +13 -0
  72. package/build/plugins/highcharts/renderer/helpers/config/utils/index.js +13 -0
  73. package/build/plugins/highcharts/renderer/helpers/config/utils/isNavigatorSeries.d.ts +2 -0
  74. package/build/plugins/highcharts/renderer/helpers/config/utils/isNavigatorSeries.js +3 -0
  75. package/build/plugins/highcharts/renderer/helpers/config/utils/isSafari.d.ts +1 -0
  76. package/build/plugins/highcharts/renderer/helpers/config/utils/isSafari.js +12 -0
  77. package/build/plugins/highcharts/renderer/helpers/config/utils/isTooltipShared.d.ts +1 -0
  78. package/build/plugins/highcharts/renderer/helpers/config/utils/isTooltipShared.js +8 -0
  79. package/build/plugins/highcharts/renderer/helpers/config/utils/isTooltipShared.test.d.ts +1 -0
  80. package/build/plugins/highcharts/renderer/helpers/config/utils/isTooltipShared.test.js +31 -0
  81. package/build/plugins/highcharts/renderer/helpers/config/utils/localStorage.d.ts +5 -0
  82. package/build/plugins/highcharts/renderer/helpers/config/utils/localStorage.js +23 -0
  83. package/build/plugins/highcharts/renderer/helpers/config/utils/mergeArrayWithObject.d.ts +1 -0
  84. package/build/plugins/highcharts/renderer/helpers/config/utils/mergeArrayWithObject.js +10 -0
  85. package/build/plugins/highcharts/renderer/helpers/config/utils/numberFormat.d.ts +2 -0
  86. package/build/plugins/highcharts/renderer/helpers/config/utils/numberFormat.js +19 -0
  87. package/build/plugins/highcharts/renderer/helpers/config/utils/numberFormat.test.d.ts +1 -0
  88. package/build/plugins/highcharts/renderer/helpers/config/utils/numberFormat.test.js +20 -0
  89. package/build/plugins/highcharts/renderer/helpers/config/utils/setNavigatorDefaultPeriod.d.ts +13 -0
  90. package/build/plugins/highcharts/renderer/helpers/config/utils/setNavigatorDefaultPeriod.js +27 -0
  91. package/build/plugins/highcharts/renderer/helpers/config/utils/setNavigatorDefaultPeriod.test.d.ts +1 -0
  92. package/build/plugins/highcharts/renderer/helpers/config/utils/setNavigatorDefaultPeriod.test.js +45 -0
  93. package/build/plugins/highcharts/renderer/helpers/constants.d.ts +28 -0
  94. package/build/plugins/highcharts/renderer/helpers/constants.js +30 -0
  95. package/build/plugins/highcharts/renderer/helpers/graph.css +89 -0
  96. package/build/plugins/highcharts/renderer/helpers/graph.d.ts +552 -0
  97. package/build/plugins/highcharts/renderer/helpers/graph.js +85 -0
  98. package/build/plugins/highcharts/renderer/helpers/highcharts/colors.d.ts +2 -0
  99. package/build/plugins/highcharts/renderer/helpers/highcharts/colors.js +17 -0
  100. package/build/plugins/highcharts/renderer/helpers/highcharts/highcharts.d.ts +4 -0
  101. package/build/plugins/highcharts/renderer/helpers/highcharts/highcharts.js +346 -0
  102. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/calcucalteClosestPointManually.d.ts +1 -0
  103. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/calcucalteClosestPointManually.js +19 -0
  104. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/calculateClosestPointManually.test.d.ts +1 -0
  105. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/calculateClosestPointManually.test.js +42 -0
  106. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/index.d.ts +1 -0
  107. package/build/plugins/highcharts/renderer/helpers/highcharts/utils/index.js +1 -0
  108. package/build/plugins/highcharts/renderer/helpers/init-highcharts-modules.d.ts +1 -0
  109. package/build/plugins/highcharts/renderer/helpers/init-highcharts-modules.js +49 -0
  110. package/build/plugins/highcharts/renderer/helpers/prepare-data.d.ts +1 -0
  111. package/build/plugins/highcharts/renderer/helpers/prepare-data.js +175 -0
  112. package/build/plugins/highcharts/renderer/helpers/tooltip/constants.d.ts +13 -0
  113. package/build/plugins/highcharts/renderer/helpers/tooltip/constants.js +14 -0
  114. package/build/plugins/highcharts/renderer/helpers/tooltip/helpers.d.ts +1 -0
  115. package/build/plugins/highcharts/renderer/helpers/tooltip/helpers.js +5 -0
  116. package/build/plugins/highcharts/renderer/helpers/tooltip/index.d.ts +13 -0
  117. package/build/plugins/highcharts/renderer/helpers/tooltip/index.js +253 -0
  118. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/index.d.ts +6 -0
  119. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/index.js +22 -0
  120. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DashDotLineIcon.d.ts +2 -0
  121. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DashDotLineIcon.js +20 -0
  122. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DashLineIcon.d.ts +2 -0
  123. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DashLineIcon.js +25 -0
  124. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DotLineIcon.d.ts +2 -0
  125. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/DotLineIcon.js +20 -0
  126. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashDotDotLineIcon.d.ts +2 -0
  127. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashDotDotLineIcon.js +18 -0
  128. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashDotLineIcon.d.ts +2 -0
  129. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashDotLineIcon.js +18 -0
  130. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashLineIcon.d.ts +2 -0
  131. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/LongDashLineIcon.js +15 -0
  132. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashDotDotLineIcon.d.ts +2 -0
  133. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashDotDotLineIcon.js +18 -0
  134. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashDotLineIcon.d.ts +2 -0
  135. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashDotLineIcon.js +18 -0
  136. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashLineIcon.d.ts +2 -0
  137. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDashLineIcon.js +18 -0
  138. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDotLineIcon.d.ts +2 -0
  139. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/ShortDotLineIcon.js +20 -0
  140. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/SolidLineIcon.d.ts +2 -0
  141. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/SolidLineIcon.js +13 -0
  142. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/index.d.ts +11 -0
  143. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/template-icons/index.js +11 -0
  144. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/types.d.ts +4 -0
  145. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/types.js +1 -0
  146. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/utils.d.ts +7 -0
  147. package/build/plugins/highcharts/renderer/helpers/tooltip/render-shape-icon/utils.js +5 -0
  148. package/build/plugins/highcharts/renderer/helpers/tooltip/tooltip.css +367 -0
  149. package/build/plugins/highcharts/renderer/helpers/tooltip/types.d.ts +85 -0
  150. package/build/plugins/highcharts/renderer/helpers/tooltip/types.js +1 -0
  151. package/build/plugins/highcharts/renderer/helpers/types.d.ts +22 -0
  152. package/build/plugins/highcharts/renderer/helpers/types.js +1 -0
  153. package/build/plugins/highcharts/types/comments.d.ts +51 -0
  154. package/build/plugins/highcharts/types/comments.js +1 -0
  155. package/build/plugins/highcharts/types/highcharts-extends.d.ts +38 -0
  156. package/build/plugins/highcharts/types/index.d.ts +4 -0
  157. package/build/plugins/highcharts/types/index.js +1 -0
  158. package/build/plugins/highcharts/types/lib.d.ts +1 -0
  159. package/build/plugins/highcharts/types/lib.js +1 -0
  160. package/build/plugins/highcharts/types/misc.d.ts +19 -0
  161. package/build/plugins/highcharts/types/misc.js +1 -0
  162. package/build/plugins/highcharts/types/widget.d.ts +47 -0
  163. package/build/plugins/highcharts/types/widget.js +1 -0
  164. package/build/plugins/index.d.ts +4 -2
  165. package/build/plugins/index.js +1 -0
  166. package/build/plugins/indicator/renderer/IndicatorItem.d.ts +3 -2
  167. package/build/plugins/indicator/renderer/IndicatorWidget.d.ts +10 -2
  168. package/build/plugins/indicator/renderer/IndicatorWidget.js +1 -1
  169. package/build/plugins/indicator/types.d.ts +0 -6
  170. package/build/plugins/shared/format-number/format-number.d.ts +4 -0
  171. package/build/plugins/shared/format-number/format-number.js +88 -0
  172. package/build/plugins/shared/format-number/format-number.test.d.ts +1 -0
  173. package/build/plugins/shared/format-number/format-number.test.js +14 -0
  174. package/build/plugins/shared/format-number/i18n/en.json +17 -0
  175. package/build/plugins/shared/format-number/i18n/i18n.d.ts +5 -0
  176. package/build/plugins/shared/format-number/i18n/i18n.js +8 -0
  177. package/build/plugins/shared/format-number/i18n/ru.json +17 -0
  178. package/build/plugins/shared/format-number/types.d.ts +14 -0
  179. package/build/plugins/shared/format-number/types.js +1 -0
  180. package/build/plugins/shared/index.d.ts +2 -0
  181. package/build/plugins/shared/index.js +1 -0
  182. package/build/plugins/yagr/renderer/YagrWidget.d.ts +11 -3
  183. package/build/plugins/yagr/renderer/YagrWidget.js +4 -3
  184. package/build/plugins/yagr/types.d.ts +0 -7
  185. package/build/types/index.d.ts +1 -2
  186. package/build/types/misc.d.ts +4 -0
  187. package/build/types/misc.js +1 -0
  188. package/build/types/widget.d.ts +17 -0
  189. package/package.json +5 -2
@@ -0,0 +1,575 @@
1
+ import React from 'react';
2
+ import { ChartCallbackFunction, Options, Chart } from 'highcharts';
3
+ import type { ChartKitProps } from '../../../../types';
4
+ import type { HighchartsWidgetData, StringParams } from '../../types';
5
+ import './HighchartsComponent.css';
6
+ declare type Props = ChartKitProps<'highcharts'>;
7
+ declare type State = {
8
+ prevData: HighchartsWidgetData | null;
9
+ options: (Options & {
10
+ useHighStock: boolean;
11
+ }) | null;
12
+ callback: ChartCallbackFunction | null;
13
+ isError: boolean;
14
+ };
15
+ export declare class HighchartsComponent extends React.PureComponent<Props, State> {
16
+ static defaultProps: Partial<Props>;
17
+ static getDerivedStateFromProps(nextProps: Props, prevState: State): {
18
+ prevData: HighchartsWidgetData;
19
+ options: {
20
+ chart: {
21
+ type: any;
22
+ } & {
23
+ zoomType: string;
24
+ backgroundColor: string;
25
+ className: string;
26
+ } & {
27
+ events: {
28
+ render?: (() => void) | undefined;
29
+ load: () => void;
30
+ selection: () => void;
31
+ drilldown: () => void;
32
+ drillup: () => void;
33
+ click: (event: any) => void;
34
+ redraw: () => void;
35
+ };
36
+ };
37
+ plotOptions: {
38
+ [x: number]: {
39
+ stacking: any;
40
+ };
41
+ } & {
42
+ series: {
43
+ borderColor: string;
44
+ label: {
45
+ enabled: boolean;
46
+ };
47
+ tooltip: {
48
+ headerFormat: string;
49
+ pointFormat: string;
50
+ };
51
+ dataLabels: {
52
+ style: {
53
+ textOutline: string;
54
+ color: string;
55
+ };
56
+ };
57
+ turboThreshold: number;
58
+ };
59
+ area: {
60
+ boostThreshold: number;
61
+ trackByArea: boolean;
62
+ stickyTracking: boolean;
63
+ } & {
64
+ states: {
65
+ hover: {
66
+ lineWidthPlus: number;
67
+ };
68
+ };
69
+ dataGrouping: {
70
+ approximation: string;
71
+ };
72
+ marker: {
73
+ enabled: boolean;
74
+ radius: number;
75
+ states: {
76
+ hover: {
77
+ radiusPlus: number;
78
+ };
79
+ };
80
+ };
81
+ } & {
82
+ dataLabels: {
83
+ formatter: () => any;
84
+ };
85
+ } & {
86
+ states: {
87
+ hover: {
88
+ animation: {
89
+ duration: number;
90
+ easing: string;
91
+ };
92
+ lineWidth: number;
93
+ opacity: number;
94
+ };
95
+ inactive: {
96
+ opacity: number;
97
+ };
98
+ };
99
+ };
100
+ areaspline: {
101
+ states: {
102
+ hover: {
103
+ lineWidthPlus: number;
104
+ };
105
+ };
106
+ dataGrouping: {
107
+ approximation: string;
108
+ };
109
+ marker: {
110
+ enabled: boolean;
111
+ radius: number;
112
+ states: {
113
+ hover: {
114
+ radiusPlus: number;
115
+ };
116
+ };
117
+ };
118
+ };
119
+ bar: {
120
+ borderWidth: number;
121
+ pointWidth: number;
122
+ } & {
123
+ states: {
124
+ hover: {
125
+ lineWidthPlus: number;
126
+ };
127
+ };
128
+ dataGrouping: {
129
+ approximation: string;
130
+ };
131
+ marker: {
132
+ enabled: boolean;
133
+ radius: number;
134
+ states: {
135
+ hover: {
136
+ radiusPlus: number;
137
+ };
138
+ };
139
+ };
140
+ } & {
141
+ dataLabels: {
142
+ formatter: () => any;
143
+ };
144
+ } & {
145
+ states: {
146
+ inactive: {
147
+ enabled: boolean;
148
+ };
149
+ };
150
+ };
151
+ column: {
152
+ states: {
153
+ hover: {
154
+ lineWidthPlus: number;
155
+ };
156
+ };
157
+ dataGrouping: {
158
+ approximation: string;
159
+ };
160
+ marker: {
161
+ enabled: boolean;
162
+ radius: number;
163
+ states: {
164
+ hover: {
165
+ radiusPlus: number;
166
+ };
167
+ };
168
+ };
169
+ } & {
170
+ dataLabels: {
171
+ formatter: () => any;
172
+ };
173
+ } & {
174
+ states: {
175
+ inactive: {
176
+ enabled: boolean;
177
+ };
178
+ };
179
+ };
180
+ line: {
181
+ states: {
182
+ hover: {
183
+ lineWidthPlus: number;
184
+ };
185
+ };
186
+ dataGrouping: {
187
+ approximation: string;
188
+ };
189
+ marker: {
190
+ enabled: boolean;
191
+ radius: number;
192
+ states: {
193
+ hover: {
194
+ radiusPlus: number;
195
+ };
196
+ };
197
+ };
198
+ } & {
199
+ dataLabels: {
200
+ formatter: () => any;
201
+ };
202
+ } & {
203
+ states: {
204
+ hover: {
205
+ animation: {
206
+ duration: number;
207
+ easing: string;
208
+ };
209
+ lineWidth: number;
210
+ opacity: number;
211
+ };
212
+ inactive: {
213
+ opacity: number;
214
+ };
215
+ };
216
+ };
217
+ spline: {
218
+ states: {
219
+ hover: {
220
+ lineWidthPlus: number;
221
+ };
222
+ };
223
+ dataGrouping: {
224
+ approximation: string;
225
+ };
226
+ marker: {
227
+ enabled: boolean;
228
+ radius: number;
229
+ states: {
230
+ hover: {
231
+ radiusPlus: number;
232
+ };
233
+ };
234
+ };
235
+ };
236
+ arearange: {
237
+ tooltip: {
238
+ pointFormat: string;
239
+ };
240
+ } & {
241
+ states: {
242
+ hover: {
243
+ lineWidthPlus: number;
244
+ };
245
+ };
246
+ dataGrouping: {
247
+ approximation: string;
248
+ };
249
+ marker: {
250
+ enabled: boolean;
251
+ radius: number;
252
+ states: {
253
+ hover: {
254
+ radiusPlus: number;
255
+ };
256
+ };
257
+ };
258
+ };
259
+ scatter: {
260
+ tooltip: {
261
+ headerFormat: string;
262
+ pointFormat: string;
263
+ };
264
+ };
265
+ bubble: {
266
+ tooltip: {
267
+ headerFormat: string;
268
+ pointFormat: string;
269
+ };
270
+ };
271
+ sankey: {
272
+ tooltip: {
273
+ headerFormat: string;
274
+ pointFormat: string;
275
+ };
276
+ };
277
+ heatmap: {
278
+ tooltip: {
279
+ headerFormat: string;
280
+ pointFormat: string;
281
+ };
282
+ };
283
+ treemap: {
284
+ tooltip: {
285
+ headerFormat: null;
286
+ pointFormat: string;
287
+ };
288
+ };
289
+ timeline: {
290
+ tooltip: {
291
+ headerFormat: string;
292
+ pointFormat: string;
293
+ };
294
+ };
295
+ variwide: {};
296
+ waterfall: {};
297
+ pie: {
298
+ tooltip: {
299
+ headerFormat: null;
300
+ pointFormat: string;
301
+ };
302
+ dataLabels: {
303
+ formatter: () => any;
304
+ };
305
+ } & {
306
+ allowPointSelect: boolean;
307
+ slicedOffset: number;
308
+ cursor: string;
309
+ showInLegend: boolean;
310
+ } & {
311
+ states: {
312
+ inactive: {
313
+ enabled: boolean;
314
+ };
315
+ };
316
+ };
317
+ histogram: {
318
+ tooltip: {
319
+ headerFormat: null;
320
+ pointFormat: string;
321
+ };
322
+ };
323
+ bellcurve: {};
324
+ streamgraph: {};
325
+ ohlc: {
326
+ tooltip: {
327
+ pointFormat: string;
328
+ };
329
+ };
330
+ ema: {};
331
+ sma: {};
332
+ wordcloud: {
333
+ tooltip: {
334
+ pointFormat: string;
335
+ };
336
+ };
337
+ xrange: {
338
+ tooltip: {
339
+ headerFormat: string;
340
+ pointFormat: string;
341
+ };
342
+ };
343
+ solidgauge: {
344
+ allowPointSelect: boolean;
345
+ slicedOffset: number;
346
+ cursor: string;
347
+ showInLegend: boolean;
348
+ };
349
+ funnel: {
350
+ allowPointSelect: boolean;
351
+ slicedOffset: number;
352
+ cursor: string;
353
+ showInLegend: boolean;
354
+ };
355
+ boxplot: {
356
+ tooltip: {
357
+ pointFormat: string;
358
+ };
359
+ };
360
+ } & {
361
+ xrange: {
362
+ stickyTracking: boolean;
363
+ };
364
+ series: {
365
+ events: {
366
+ legendItemClick: (event: any) => void;
367
+ mouseOver: () => void;
368
+ mouseOut: () => void;
369
+ click: (event: any) => void;
370
+ };
371
+ point: {
372
+ events: {
373
+ click: (event: any) => boolean;
374
+ };
375
+ };
376
+ marker: {
377
+ states: {
378
+ hover: {
379
+ enabled: boolean;
380
+ };
381
+ select: {
382
+ enabled: boolean;
383
+ };
384
+ };
385
+ } | {
386
+ states?: undefined;
387
+ };
388
+ };
389
+ pie: {
390
+ point: {
391
+ events: {
392
+ legendItemClick: (event: any) => void;
393
+ };
394
+ };
395
+ };
396
+ area: {
397
+ trackByArea: boolean;
398
+ stickyTracking: boolean;
399
+ } | {
400
+ trackByArea?: undefined;
401
+ stickyTracking?: undefined;
402
+ };
403
+ };
404
+ title: {
405
+ style: {
406
+ color: string;
407
+ };
408
+ } & {
409
+ text: any;
410
+ floating: any;
411
+ };
412
+ tooltip: {
413
+ split: boolean;
414
+ shared: boolean;
415
+ outside: boolean;
416
+ followPointer: boolean;
417
+ dateTimeLabelFormats: {
418
+ millisecond: string;
419
+ second: string;
420
+ minute: string;
421
+ hour: string;
422
+ day: string;
423
+ week: string;
424
+ quarter: string;
425
+ };
426
+ } & {
427
+ replaceCellAt?: any;
428
+ insertCellAt?: any;
429
+ positioner?: typeof import("../helpers/config/config").portraitOrientationTooltipPositioner | undefined;
430
+ shared: boolean;
431
+ splitTooltip: any;
432
+ distance: number;
433
+ style: {
434
+ width: string;
435
+ };
436
+ className: string;
437
+ outside: boolean;
438
+ };
439
+ legend: {
440
+ itemStyle: {
441
+ color: string;
442
+ };
443
+ itemHoverStyle: {
444
+ color: string;
445
+ };
446
+ itemHiddenStyle: {
447
+ color: string;
448
+ };
449
+ } & ({
450
+ alignColumns: boolean;
451
+ labelFormatter: () => any;
452
+ navigation: {
453
+ activeColor: string;
454
+ inactiveColor: string;
455
+ style: {
456
+ color: string;
457
+ };
458
+ };
459
+ } | {
460
+ enabled: boolean;
461
+ });
462
+ xAxis: {
463
+ crosshair: boolean;
464
+ gridLineColor: string;
465
+ lineColor: string;
466
+ labels: {
467
+ style: {
468
+ color: string;
469
+ };
470
+ };
471
+ tickPixelInterval: number;
472
+ tickColor: string;
473
+ tickmarkPlacement: string;
474
+ dateTimeLabelFormats: {
475
+ day: string;
476
+ week: string;
477
+ quarter: string;
478
+ };
479
+ } & {
480
+ crosshair: boolean | {
481
+ width: number;
482
+ color: string;
483
+ zIndex: number;
484
+ };
485
+ labels: {
486
+ formatter: () => any;
487
+ };
488
+ };
489
+ yAxis: {
490
+ gridLineColor: string;
491
+ lineColor: string;
492
+ labels: {
493
+ style: {
494
+ color: string;
495
+ };
496
+ };
497
+ tickColor: string;
498
+ stackLabels: {
499
+ style: {
500
+ textOutline: string;
501
+ color: string;
502
+ };
503
+ };
504
+ } & {
505
+ crosshair: boolean | {
506
+ width: number;
507
+ color: string;
508
+ zIndex: number;
509
+ };
510
+ labels: {
511
+ formatter: () => any;
512
+ };
513
+ };
514
+ exporting: {
515
+ buttons: {
516
+ contextButton: {
517
+ enabled: boolean;
518
+ };
519
+ };
520
+ };
521
+ rangeSelector: {
522
+ enabled: boolean;
523
+ inputEnabled: boolean;
524
+ };
525
+ scrollbar: {
526
+ enabled: boolean;
527
+ barBackgroundColor: string;
528
+ barBorderColor: string;
529
+ buttonArrowColor: string;
530
+ buttonBorderColor: string;
531
+ buttonBackgroundColor: string;
532
+ trackBackgroundColor: string;
533
+ trackBorderColor: string;
534
+ };
535
+ navigator: {
536
+ height: number;
537
+ outlineColor: string;
538
+ xAxis: {
539
+ gridLineColor: string;
540
+ };
541
+ handles: {
542
+ backgroundColor: string;
543
+ borderColor: string;
544
+ };
545
+ } & {
546
+ adaptToUpdatedData: boolean;
547
+ };
548
+ _config: any;
549
+ subtitle: {
550
+ text: any;
551
+ };
552
+ series: any;
553
+ _externalComments: import("../../types").ChartKitComment[];
554
+ _internalComments: import("../../types").ChartKitComment[];
555
+ };
556
+ callback: (chart: import("../../types").ExtendedHChart) => void;
557
+ isError: boolean;
558
+ } | {
559
+ isError: boolean;
560
+ prevData?: undefined;
561
+ options?: undefined;
562
+ callback?: undefined;
563
+ } | null;
564
+ state: State;
565
+ private chartComponent;
566
+ componentDidMount(): void;
567
+ componentDidUpdate(): void;
568
+ render(): JSX.Element | null;
569
+ reflow: () => void;
570
+ extendChartInstance: (chart: Chart) => void;
571
+ getParams: () => StringParams;
572
+ updateParams: (params: StringParams) => void;
573
+ private onLoad;
574
+ }
575
+ export {};
@@ -0,0 +1,115 @@
1
+ import React from 'react';
2
+ import Highcharts from 'highcharts';
3
+ import HighchartsReact from 'highcharts-react-official';
4
+ import get from 'lodash/get';
5
+ import { settings } from '../../../../libs';
6
+ import { getGraph } from '../helpers/graph';
7
+ import { initHighchartsModules } from '../helpers/init-highcharts-modules';
8
+ import { withSplitPane } from './withSplitPane/withSplitPane';
9
+ import './HighchartsComponent.css';
10
+ const HighcharsReactWithSplitPane = withSplitPane(HighchartsReact);
11
+ initHighchartsModules();
12
+ export class HighchartsComponent extends React.PureComponent {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.state = {
16
+ prevData: null,
17
+ options: null,
18
+ callback: null,
19
+ isError: false,
20
+ };
21
+ this.chartComponent = React.createRef();
22
+ this.reflow = () => {
23
+ if (this.chartComponent.current) {
24
+ this.chartComponent.current.chart.reflow();
25
+ }
26
+ };
27
+ this.extendChartInstance = (chart) => {
28
+ chart.updateParams = this.updateParams;
29
+ chart.getParams = this.getParams;
30
+ };
31
+ this.getParams = () => {
32
+ return this.props.data.params || {};
33
+ };
34
+ this.updateParams = (params) => {
35
+ if (this.props.onChange) {
36
+ this.props.onChange({ type: 'PARAMS_CHANGED', data: { params } }, { forceUpdate: true }, true);
37
+ }
38
+ };
39
+ }
40
+ static getDerivedStateFromProps(nextProps, prevState) {
41
+ var _a;
42
+ const isCurrentTooltipSplitted = get(prevState, 'options.tooltip.splitTooltip');
43
+ const tooltipTypeWasChanged = isCurrentTooltipSplitted !== nextProps.splitTooltip;
44
+ if (nextProps.data === prevState.prevData && !tooltipTypeWasChanged) {
45
+ return null;
46
+ }
47
+ try {
48
+ const { nonBodyScroll, data: { data, libraryConfig, config, comments }, isMobile, } = nextProps;
49
+ const entryId = get(nextProps, 'data.entryId');
50
+ const configOptions = Object.assign({
51
+ nonBodyScroll,
52
+ drillDownData: nextProps.data.config.drillDown,
53
+ splitTooltip: nextProps.splitTooltip,
54
+ highcharts: libraryConfig,
55
+ entryId,
56
+ }, config);
57
+ const { config: options, callback } = getGraph({
58
+ options: configOptions,
59
+ holidays: (_a = settings.get('extra')) === null || _a === void 0 ? void 0 : _a.holidays,
60
+ data,
61
+ comments,
62
+ isMobile,
63
+ });
64
+ return {
65
+ prevData: nextProps.data,
66
+ options,
67
+ callback,
68
+ isError: false,
69
+ };
70
+ }
71
+ catch (error) {
72
+ const { hoistConfigError, onError } = nextProps;
73
+ if (onError && !hoistConfigError) {
74
+ onError({ error });
75
+ }
76
+ if (hoistConfigError) {
77
+ throw error;
78
+ }
79
+ return { isError: true };
80
+ }
81
+ }
82
+ componentDidMount() {
83
+ this.onLoad();
84
+ }
85
+ componentDidUpdate() {
86
+ this.onLoad();
87
+ }
88
+ render() {
89
+ const { isError, options } = this.state;
90
+ const Component = this.props.splitTooltip ? HighcharsReactWithSplitPane : HighchartsReact;
91
+ if (isError) {
92
+ return null;
93
+ }
94
+ return (React.createElement(Component, { key: Math.random(), options: options, highcharts: Highcharts, onSplitPaneMountCallback: this.state.callback || undefined, callback: this.extendChartInstance, constructorType: (options === null || options === void 0 ? void 0 : options.useHighStock) ? 'stockChart' : 'chart', containerProps: { className: 'chartkit-graph' }, ref: this.chartComponent }));
95
+ }
96
+ onLoad() {
97
+ if (!this.state.isError && !this.props.splitTooltip) {
98
+ const data = {
99
+ widget: this.chartComponent.current ? this.chartComponent.current.chart : null,
100
+ widgetData: this.state.options,
101
+ loadedData: this.state.prevData,
102
+ };
103
+ if (this.state.callback && data.widget) {
104
+ this.state.callback(data.widget);
105
+ }
106
+ if (this.props.onLoad) {
107
+ this.props.onLoad({ widget: data.widget });
108
+ }
109
+ window.requestAnimationFrame(this.reflow);
110
+ }
111
+ }
112
+ }
113
+ HighchartsComponent.defaultProps = {
114
+ hoistConfigError: true,
115
+ };