@perses-dev/components 0.38.0 → 0.40.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 (349) hide show
  1. package/dist/BarChart/BarChart.d.ts +2 -2
  2. package/dist/BarChart/BarChart.d.ts.map +1 -1
  3. package/dist/BarChart/BarChart.js +16 -10
  4. package/dist/BarChart/BarChart.js.map +1 -1
  5. package/dist/BarChart/index.js.map +1 -1
  6. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  7. package/dist/ColorPicker/index.js.map +1 -1
  8. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  9. package/dist/ContentWithLegend/index.js.map +1 -1
  10. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts +1 -1
  11. package/dist/ContentWithLegend/model/content-with-legend-model.js +19 -19
  12. package/dist/ContentWithLegend/model/content-with-legend-model.js.map +1 -1
  13. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts.map +1 -1
  14. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js +6 -22
  15. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js.map +1 -1
  16. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
  17. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +1 -1
  18. package/dist/DateTimeRangePicker/index.js.map +1 -1
  19. package/dist/DateTimeRangePicker/utils.js.map +1 -1
  20. package/dist/Dialog/Dialog.js.map +1 -1
  21. package/dist/Dialog/DiscardChangesConfirmationDialog.js.map +1 -1
  22. package/dist/Dialog/index.js.map +1 -1
  23. package/dist/Drawer/Drawer.js.map +1 -1
  24. package/dist/Drawer/index.js.map +1 -1
  25. package/dist/EChart/EChart.js +2 -2
  26. package/dist/EChart/EChart.js.map +1 -1
  27. package/dist/EChart/index.js.map +1 -1
  28. package/dist/ErrorAlert.js.map +1 -1
  29. package/dist/ErrorBoundary.js.map +1 -1
  30. package/dist/FontSizeSelector/FontSizeSelector.js.map +1 -1
  31. package/dist/FontSizeSelector/index.js.map +1 -1
  32. package/dist/FormatControls/FormatControls.d.ts +9 -0
  33. package/dist/FormatControls/FormatControls.d.ts.map +1 -0
  34. package/dist/{UnitSelector/UnitSelector.js → FormatControls/FormatControls.js} +26 -26
  35. package/dist/FormatControls/FormatControls.js.map +1 -0
  36. package/dist/FormatControls/index.d.ts +2 -0
  37. package/dist/FormatControls/index.d.ts.map +1 -0
  38. package/dist/{UnitSelector → FormatControls}/index.js +1 -1
  39. package/dist/FormatControls/index.js.map +1 -0
  40. package/dist/GaugeChart/GaugeChart.d.ts +3 -3
  41. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -1
  42. package/dist/GaugeChart/GaugeChart.js +12 -12
  43. package/dist/GaugeChart/GaugeChart.js.map +1 -1
  44. package/dist/GaugeChart/index.js.map +1 -1
  45. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  46. package/dist/InfoTooltip/index.js.map +1 -1
  47. package/dist/JSONEditor.js.map +1 -1
  48. package/dist/Legend/CompactLegend.js.map +1 -1
  49. package/dist/Legend/Legend.js +3 -3
  50. package/dist/Legend/Legend.js.map +1 -1
  51. package/dist/Legend/LegendColorBadge.js.map +1 -1
  52. package/dist/Legend/ListLegend.js.map +1 -1
  53. package/dist/Legend/ListLegendItem.js +2 -2
  54. package/dist/Legend/ListLegendItem.js.map +1 -1
  55. package/dist/Legend/TableLegend.js.map +1 -1
  56. package/dist/Legend/index.js.map +1 -1
  57. package/dist/Legend/legend-model.js.map +1 -1
  58. package/dist/LineChart/LineChart.d.ts +2 -2
  59. package/dist/LineChart/LineChart.d.ts.map +1 -1
  60. package/dist/LineChart/LineChart.js +17 -18
  61. package/dist/LineChart/LineChart.js.map +1 -1
  62. package/dist/LineChart/index.js.map +1 -1
  63. package/dist/ModeSelector/ModeSelector.js.map +1 -1
  64. package/dist/ModeSelector/index.js.map +1 -1
  65. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  66. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  67. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  68. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  69. package/dist/OptionsEditorLayout/index.js.map +1 -1
  70. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -1
  71. package/dist/RefreshIntervalPicker/index.js.map +1 -1
  72. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +2 -2
  73. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -1
  74. package/dist/SettingsAutocomplete/index.js.map +1 -1
  75. package/dist/SortSelector/SortSelector.js.map +1 -1
  76. package/dist/SortSelector/index.js.map +1 -1
  77. package/dist/StatChart/StatChart.d.ts +2 -2
  78. package/dist/StatChart/StatChart.d.ts.map +1 -1
  79. package/dist/StatChart/StatChart.js +8 -8
  80. package/dist/StatChart/StatChart.js.map +1 -1
  81. package/dist/StatChart/calculateFontSize.js +7 -7
  82. package/dist/StatChart/calculateFontSize.js.map +1 -1
  83. package/dist/StatChart/index.js.map +1 -1
  84. package/dist/Table/InnerTable.js.map +1 -1
  85. package/dist/Table/Table.js.map +1 -1
  86. package/dist/Table/TableBody.js.map +1 -1
  87. package/dist/Table/TableCell.js +2 -2
  88. package/dist/Table/TableCell.js.map +1 -1
  89. package/dist/Table/TableCheckbox.js.map +1 -1
  90. package/dist/Table/TableHead.js.map +1 -1
  91. package/dist/Table/TableHeaderCell.js.map +1 -1
  92. package/dist/Table/TableRow.js.map +1 -1
  93. package/dist/Table/VirtualizedTable.js +6 -6
  94. package/dist/Table/VirtualizedTable.js.map +1 -1
  95. package/dist/Table/VirtualizedTableContainer.js.map +1 -1
  96. package/dist/Table/hooks/useTableKeyboardNav.js.map +1 -1
  97. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js +20 -20
  98. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js.map +1 -1
  99. package/dist/Table/index.js.map +1 -1
  100. package/dist/Table/model/table-model.js +9 -9
  101. package/dist/Table/model/table-model.js.map +1 -1
  102. package/dist/ThresholdsEditor/ThresholdColorPicker.js +2 -2
  103. package/dist/ThresholdsEditor/ThresholdColorPicker.js.map +1 -1
  104. package/dist/ThresholdsEditor/ThresholdInput.js +1 -1
  105. package/dist/ThresholdsEditor/ThresholdInput.js.map +1 -1
  106. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts.map +1 -1
  107. package/dist/ThresholdsEditor/ThresholdsEditor.js +19 -18
  108. package/dist/ThresholdsEditor/ThresholdsEditor.js.map +1 -1
  109. package/dist/ThresholdsEditor/index.js.map +1 -1
  110. package/dist/TimeChart/TimeChart.d.ts +3 -3
  111. package/dist/TimeChart/TimeChart.d.ts.map +1 -1
  112. package/dist/TimeChart/TimeChart.js +108 -61
  113. package/dist/TimeChart/TimeChart.js.map +1 -1
  114. package/dist/TimeChart/index.js.map +1 -1
  115. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts +3 -2
  116. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts.map +1 -1
  117. package/dist/TimeSeriesTooltip/LineChartTooltip.js +9 -8
  118. package/dist/TimeSeriesTooltip/LineChartTooltip.js.map +1 -1
  119. package/dist/TimeSeriesTooltip/SeriesInfo.js +2 -2
  120. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -1
  121. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -1
  122. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -1
  123. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts +3 -2
  124. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts.map +1 -1
  125. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +6 -5
  126. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -1
  127. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -1
  128. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts +1 -0
  129. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts.map +1 -1
  130. package/dist/TimeSeriesTooltip/TooltipHeader.js +11 -11
  131. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  132. package/dist/TimeSeriesTooltip/index.js.map +1 -1
  133. package/dist/TimeSeriesTooltip/nearby-series.d.ts +7 -7
  134. package/dist/TimeSeriesTooltip/nearby-series.d.ts.map +1 -1
  135. package/dist/TimeSeriesTooltip/nearby-series.js +35 -39
  136. package/dist/TimeSeriesTooltip/nearby-series.js.map +1 -1
  137. package/dist/TimeSeriesTooltip/tooltip-model.d.ts +4 -0
  138. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -1
  139. package/dist/TimeSeriesTooltip/tooltip-model.js +6 -0
  140. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  141. package/dist/TimeSeriesTooltip/utils.js +3 -3
  142. package/dist/TimeSeriesTooltip/utils.js.map +1 -1
  143. package/dist/YAxisLabel.js.map +1 -1
  144. package/dist/cjs/BarChart/BarChart.js +24 -16
  145. package/dist/cjs/BarChart/index.js +10 -8
  146. package/dist/cjs/ColorPicker/ColorPicker.js +15 -13
  147. package/dist/cjs/ColorPicker/index.js +10 -8
  148. package/dist/cjs/ContentWithLegend/ContentWithLegend.js +12 -10
  149. package/dist/cjs/ContentWithLegend/index.js +10 -8
  150. package/dist/cjs/ContentWithLegend/model/content-with-legend-model.js +27 -23
  151. package/dist/cjs/DateTimeRangePicker/AbsoluteTimePicker.js +29 -43
  152. package/dist/cjs/DateTimeRangePicker/DateTimeRangePicker.js +12 -10
  153. package/dist/cjs/DateTimeRangePicker/TimeRangeSelector.js +13 -11
  154. package/dist/cjs/DateTimeRangePicker/index.js +12 -10
  155. package/dist/cjs/DateTimeRangePicker/utils.js +9 -5
  156. package/dist/cjs/Dialog/Dialog.js +15 -13
  157. package/dist/cjs/Dialog/DiscardChangesConfirmationDialog.js +11 -9
  158. package/dist/cjs/Dialog/index.js +11 -9
  159. package/dist/cjs/Drawer/Drawer.js +5 -3
  160. package/dist/cjs/Drawer/index.js +10 -8
  161. package/dist/cjs/EChart/EChart.js +12 -10
  162. package/dist/cjs/EChart/index.js +10 -8
  163. package/dist/cjs/ErrorAlert.js +5 -3
  164. package/dist/cjs/ErrorBoundary.js +4 -2
  165. package/dist/cjs/FontSizeSelector/FontSizeSelector.js +8 -6
  166. package/dist/cjs/FontSizeSelector/index.js +10 -8
  167. package/dist/cjs/{UnitSelector/UnitSelector.js → FormatControls/FormatControls.js} +38 -36
  168. package/dist/cjs/{UnitSelector → FormatControls}/index.js +10 -8
  169. package/dist/cjs/GaugeChart/GaugeChart.js +22 -18
  170. package/dist/cjs/GaugeChart/index.js +10 -8
  171. package/dist/cjs/InfoTooltip/InfoTooltip.js +13 -11
  172. package/dist/cjs/InfoTooltip/index.js +10 -8
  173. package/dist/cjs/JSONEditor.js +10 -8
  174. package/dist/cjs/Legend/CompactLegend.js +9 -7
  175. package/dist/cjs/Legend/Legend.js +15 -13
  176. package/dist/cjs/Legend/LegendColorBadge.js +7 -5
  177. package/dist/cjs/Legend/ListLegend.js +10 -8
  178. package/dist/cjs/Legend/ListLegendItem.js +12 -10
  179. package/dist/cjs/Legend/TableLegend.js +7 -5
  180. package/dist/cjs/Legend/index.js +11 -9
  181. package/dist/cjs/Legend/legend-model.js +3 -1
  182. package/dist/cjs/LineChart/LineChart.js +26 -25
  183. package/dist/cjs/LineChart/index.js +10 -8
  184. package/dist/cjs/ModeSelector/ModeSelector.js +8 -6
  185. package/dist/cjs/ModeSelector/index.js +10 -8
  186. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +6 -4
  187. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +16 -14
  188. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +5 -3
  189. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +11 -9
  190. package/dist/cjs/OptionsEditorLayout/index.js +13 -11
  191. package/dist/cjs/RefreshIntervalPicker/RefreshIntervalPicker.js +8 -6
  192. package/dist/cjs/RefreshIntervalPicker/index.js +10 -8
  193. package/dist/cjs/SettingsAutocomplete/SettingsAutocomplete.js +12 -10
  194. package/dist/cjs/SettingsAutocomplete/index.js +10 -8
  195. package/dist/cjs/SortSelector/SortSelector.js +8 -6
  196. package/dist/cjs/SortSelector/index.js +10 -8
  197. package/dist/cjs/StatChart/StatChart.js +20 -18
  198. package/dist/cjs/StatChart/calculateFontSize.js +10 -8
  199. package/dist/cjs/StatChart/index.js +10 -8
  200. package/dist/cjs/Table/InnerTable.js +5 -3
  201. package/dist/cjs/Table/Table.js +15 -13
  202. package/dist/cjs/Table/TableBody.js +5 -3
  203. package/dist/cjs/Table/TableCell.js +10 -8
  204. package/dist/cjs/Table/TableCheckbox.js +5 -3
  205. package/dist/cjs/Table/TableHead.js +5 -3
  206. package/dist/cjs/Table/TableHeaderCell.js +8 -6
  207. package/dist/cjs/Table/TableRow.js +5 -3
  208. package/dist/cjs/Table/VirtualizedTable.js +32 -30
  209. package/dist/cjs/Table/VirtualizedTableContainer.js +5 -3
  210. package/dist/cjs/Table/hooks/useTableKeyboardNav.js +3 -1
  211. package/dist/cjs/Table/hooks/useVirtualizedTableKeyboardNav.js +23 -21
  212. package/dist/cjs/Table/index.js +14 -10
  213. package/dist/cjs/Table/model/table-model.js +15 -11
  214. package/dist/cjs/ThresholdsEditor/ThresholdColorPicker.js +15 -13
  215. package/dist/cjs/ThresholdsEditor/ThresholdInput.js +14 -12
  216. package/dist/cjs/ThresholdsEditor/ThresholdsEditor.js +44 -41
  217. package/dist/cjs/ThresholdsEditor/index.js +10 -8
  218. package/dist/cjs/TimeChart/TimeChart.js +121 -72
  219. package/dist/cjs/TimeChart/index.js +10 -8
  220. package/dist/cjs/TimeSeriesTooltip/LineChartTooltip.js +30 -27
  221. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.js +17 -15
  222. package/dist/cjs/TimeSeriesTooltip/SeriesLabelsStack.js +15 -13
  223. package/dist/cjs/TimeSeriesTooltip/SeriesMarker.js +5 -3
  224. package/dist/cjs/TimeSeriesTooltip/TimeChartTooltip.js +24 -21
  225. package/dist/cjs/TimeSeriesTooltip/TooltipContent.js +7 -5
  226. package/dist/cjs/TimeSeriesTooltip/TooltipHeader.js +36 -34
  227. package/dist/cjs/TimeSeriesTooltip/index.js +19 -17
  228. package/dist/cjs/TimeSeriesTooltip/nearby-series.js +61 -47
  229. package/dist/cjs/TimeSeriesTooltip/tooltip-model.js +57 -14
  230. package/dist/cjs/TimeSeriesTooltip/utils.js +17 -13
  231. package/dist/cjs/YAxisLabel.js +6 -4
  232. package/dist/cjs/context/{ChartsThemeProvider.js → ChartsProvider.js} +38 -11
  233. package/dist/cjs/context/SnackbarProvider.js +6 -2
  234. package/dist/cjs/context/TimeZoneProvider.js +13 -7
  235. package/dist/cjs/context/index.js +32 -0
  236. package/dist/cjs/index.js +41 -41
  237. package/dist/cjs/model/graph.js +9 -3
  238. package/dist/cjs/model/index.js +12 -10
  239. package/dist/cjs/test/index.js +10 -8
  240. package/dist/cjs/test/render.js +7 -5
  241. package/dist/cjs/test-utils/index.js +10 -8
  242. package/dist/cjs/test-utils/theme.js +36 -19
  243. package/dist/cjs/theme/component-overrides/alert.js +3 -1
  244. package/dist/cjs/theme/component-overrides/paper.js +3 -1
  245. package/dist/cjs/theme/index.js +10 -8
  246. package/dist/cjs/theme/palette/background.js +6 -2
  247. package/dist/cjs/theme/palette/colors/blue.js +3 -1
  248. package/dist/cjs/theme/palette/colors/common.js +6 -2
  249. package/dist/cjs/theme/palette/colors/green.js +3 -1
  250. package/dist/cjs/theme/palette/colors/grey.js +3 -1
  251. package/dist/cjs/theme/palette/colors/index.js +17 -15
  252. package/dist/cjs/theme/palette/colors/orange.js +3 -1
  253. package/dist/cjs/theme/palette/colors/purple.js +3 -1
  254. package/dist/cjs/theme/palette/colors/red.js +3 -1
  255. package/dist/cjs/theme/palette/error.js +3 -1
  256. package/dist/cjs/theme/palette/grey.js +3 -1
  257. package/dist/cjs/theme/palette/index.js +10 -8
  258. package/dist/cjs/theme/palette/palette-options.js +3 -1
  259. package/dist/cjs/theme/palette/primary.js +3 -1
  260. package/dist/cjs/theme/palette/secondary.js +3 -1
  261. package/dist/cjs/theme/palette/success.js +3 -1
  262. package/dist/cjs/theme/palette/text.js +3 -1
  263. package/dist/cjs/theme/palette/warning.js +3 -1
  264. package/dist/cjs/theme/theme.js +5 -3
  265. package/dist/cjs/theme/typography.js +3 -1
  266. package/dist/cjs/utils/axis.js +11 -7
  267. package/dist/cjs/utils/chart-actions.js +59 -5
  268. package/dist/cjs/utils/combine-sx.js +3 -1
  269. package/dist/cjs/utils/component-ids.js +3 -1
  270. package/dist/cjs/utils/format.js +16 -8
  271. package/dist/cjs/utils/index.js +15 -13
  272. package/dist/cjs/utils/mathjs.js +3 -1
  273. package/dist/cjs/utils/theme-gen.js +12 -10
  274. package/dist/context/ChartsProvider.d.ts +19 -0
  275. package/dist/context/ChartsProvider.d.ts.map +1 -0
  276. package/dist/context/{ChartsThemeProvider.js → ChartsProvider.js} +24 -6
  277. package/dist/context/ChartsProvider.js.map +1 -0
  278. package/dist/context/SnackbarProvider.js.map +1 -1
  279. package/dist/context/TimeZoneProvider.js.map +1 -1
  280. package/dist/context/index.d.ts +4 -0
  281. package/dist/context/index.d.ts.map +1 -0
  282. package/dist/context/index.js +17 -0
  283. package/dist/context/index.js.map +1 -0
  284. package/dist/index.d.ts +2 -4
  285. package/dist/index.d.ts.map +1 -1
  286. package/dist/index.js +2 -4
  287. package/dist/index.js.map +1 -1
  288. package/dist/model/graph.js.map +1 -1
  289. package/dist/model/index.js.map +1 -1
  290. package/dist/test/index.js.map +1 -1
  291. package/dist/test/render.js.map +1 -1
  292. package/dist/test/setup-tests.js.map +1 -1
  293. package/dist/test-utils/index.js.map +1 -1
  294. package/dist/test-utils/theme.d.ts +2 -0
  295. package/dist/test-utils/theme.d.ts.map +1 -1
  296. package/dist/test-utils/theme.js +23 -16
  297. package/dist/test-utils/theme.js.map +1 -1
  298. package/dist/theme/component-overrides/alert.js.map +1 -1
  299. package/dist/theme/component-overrides/paper.js.map +1 -1
  300. package/dist/theme/index.d.ts +1 -0
  301. package/dist/theme/index.d.ts.map +1 -1
  302. package/dist/theme/index.js.map +1 -1
  303. package/dist/theme/palette/background.d.ts.map +1 -1
  304. package/dist/theme/palette/background.js +3 -1
  305. package/dist/theme/palette/background.js.map +1 -1
  306. package/dist/theme/palette/colors/blue.js.map +1 -1
  307. package/dist/theme/palette/colors/common.js.map +1 -1
  308. package/dist/theme/palette/colors/green.js.map +1 -1
  309. package/dist/theme/palette/colors/grey.js.map +1 -1
  310. package/dist/theme/palette/colors/index.js.map +1 -1
  311. package/dist/theme/palette/colors/orange.js.map +1 -1
  312. package/dist/theme/palette/colors/purple.js.map +1 -1
  313. package/dist/theme/palette/colors/red.js.map +1 -1
  314. package/dist/theme/palette/error.js.map +1 -1
  315. package/dist/theme/palette/grey.js.map +1 -1
  316. package/dist/theme/palette/index.js.map +1 -1
  317. package/dist/theme/palette/palette-options.js.map +1 -1
  318. package/dist/theme/palette/primary.js.map +1 -1
  319. package/dist/theme/palette/secondary.js.map +1 -1
  320. package/dist/theme/palette/success.js.map +1 -1
  321. package/dist/theme/palette/text.js.map +1 -1
  322. package/dist/theme/palette/warning.js.map +1 -1
  323. package/dist/theme/theme.js.map +1 -1
  324. package/dist/theme/typography.js.map +1 -1
  325. package/dist/utils/axis.d.ts +4 -4
  326. package/dist/utils/axis.d.ts.map +1 -1
  327. package/dist/utils/axis.js +4 -4
  328. package/dist/utils/axis.js.map +1 -1
  329. package/dist/utils/chart-actions.d.ts +5 -1
  330. package/dist/utils/chart-actions.d.ts.map +1 -1
  331. package/dist/utils/chart-actions.js +42 -0
  332. package/dist/utils/chart-actions.js.map +1 -1
  333. package/dist/utils/combine-sx.js.map +1 -1
  334. package/dist/utils/component-ids.js.map +1 -1
  335. package/dist/utils/format.js.map +1 -1
  336. package/dist/utils/index.js.map +1 -1
  337. package/dist/utils/mathjs.js.map +1 -1
  338. package/dist/utils/theme-gen.js +7 -7
  339. package/dist/utils/theme-gen.js.map +1 -1
  340. package/package.json +7 -6
  341. package/dist/UnitSelector/UnitSelector.d.ts +0 -9
  342. package/dist/UnitSelector/UnitSelector.d.ts.map +0 -1
  343. package/dist/UnitSelector/UnitSelector.js.map +0 -1
  344. package/dist/UnitSelector/index.d.ts +0 -2
  345. package/dist/UnitSelector/index.d.ts.map +0 -1
  346. package/dist/UnitSelector/index.js.map +0 -1
  347. package/dist/context/ChartsThemeProvider.d.ts +0 -10
  348. package/dist/context/ChartsThemeProvider.d.ts.map +0 -1
  349. package/dist/context/ChartsThemeProvider.js.map +0 -1
@@ -16,34 +16,36 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "TimeChartTooltip", {
18
18
  enumerable: true,
19
- get: ()=>TimeChartTooltip
19
+ get: function() {
20
+ return TimeChartTooltip;
21
+ }
20
22
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
23
+ const _jsxruntime = require("react/jsx-runtime");
22
24
  const _react = require("react");
23
25
  const _material = require("@mui/material");
24
- const _useResizeObserver = /*#__PURE__*/ _interopRequireDefault(require("use-resize-observer"));
25
- const _tooltipModel = require("./tooltip-model");
26
+ const _useresizeobserver = /*#__PURE__*/ _interop_require_default(require("use-resize-observer"));
27
+ const _tooltipmodel = require("./tooltip-model");
26
28
  const _utils = require("./utils");
27
- const _nearbySeries = require("./nearby-series");
28
- const _tooltipHeader = require("./TooltipHeader");
29
- const _tooltipContent = require("./TooltipContent");
30
- function _interopRequireDefault(obj) {
29
+ const _nearbyseries = require("./nearby-series");
30
+ const _TooltipHeader = require("./TooltipHeader");
31
+ const _TooltipContent = require("./TooltipContent");
32
+ function _interop_require_default(obj) {
31
33
  return obj && obj.__esModule ? obj : {
32
34
  default: obj
33
35
  };
34
36
  }
35
- const TimeChartTooltip = /*#__PURE__*/ (0, _react.memo)(function TimeChartTooltip({ containerId , chartRef , data , seriesMapping , wrapLabels , unit , onUnpinClick , pinnedPos }) {
37
+ const TimeChartTooltip = /*#__PURE__*/ (0, _react.memo)(function TimeChartTooltip({ containerId , chartRef , data , seriesMapping , enablePinning =true , wrapLabels , format , onUnpinClick , pinnedPos }) {
36
38
  const [showAllSeries, setShowAllSeries] = (0, _react.useState)(false);
37
39
  const transform = (0, _react.useRef)('');
38
- const mousePos = (0, _tooltipModel.useMousePosition)();
39
- const { height , width , ref: tooltipRef } = (0, _useResizeObserver.default)();
40
- const isTooltipPinned = pinnedPos !== null;
40
+ const mousePos = (0, _tooltipmodel.useMousePosition)();
41
+ const { height , width , ref: tooltipRef } = (0, _useresizeobserver.default)();
42
+ const isTooltipPinned = pinnedPos !== null && enablePinning;
41
43
  if (mousePos === null || mousePos.target === null || data === null) return null;
42
44
  // Ensure user is hovering over a chart before checking for nearby series.
43
45
  if (pinnedPos === null && mousePos.target.tagName !== 'CANVAS') return null;
44
46
  const chart = chartRef.current;
45
- var ref;
46
- const chartWidth = (ref = chart === null || chart === void 0 ? void 0 : chart.getWidth()) !== null && ref !== void 0 ? ref : _tooltipModel.FALLBACK_CHART_WIDTH; // Fallback width not likely to ever be needed.
47
+ var _chart_getWidth;
48
+ const chartWidth = (_chart_getWidth = chart === null || chart === void 0 ? void 0 : chart.getWidth()) !== null && _chart_getWidth !== void 0 ? _chart_getWidth : _tooltipmodel.FALLBACK_CHART_WIDTH; // Fallback width not likely to ever be needed.
47
49
  const containerElement = containerId ? document.querySelector(containerId) : undefined;
48
50
  // if tooltip is attached to a container, set max height to the height of the container so tooltip does not get cut off
49
51
  const maxHeight = containerElement ? containerElement.getBoundingClientRect().height : undefined;
@@ -51,39 +53,40 @@ const TimeChartTooltip = /*#__PURE__*/ (0, _react.memo)(function TimeChartToolti
51
53
  transform.current = (0, _utils.assembleTransform)(mousePos, chartWidth, pinnedPos, height !== null && height !== void 0 ? height : 0, width !== null && width !== void 0 ? width : 0, containerElement);
52
54
  }
53
55
  // Get series nearby the cursor and pass into tooltip content children.
54
- const nearbySeries = (0, _nearbySeries.getNearbySeriesData)({
56
+ const nearbySeries = (0, _nearbyseries.getNearbySeriesData)({
55
57
  mousePos,
56
58
  data,
57
59
  seriesMapping,
58
60
  pinnedPos,
59
61
  chart,
60
- unit,
62
+ format,
61
63
  showAllSeries
62
64
  });
63
65
  if (nearbySeries.length === 0) {
64
66
  return null;
65
67
  }
66
68
  const totalSeries = data.length;
67
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Portal, {
69
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Portal, {
68
70
  container: containerElement,
69
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
71
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
70
72
  ref: tooltipRef,
71
73
  sx: (theme)=>(0, _utils.getTooltipStyles)(theme, pinnedPos, maxHeight),
72
74
  style: {
73
75
  transform: transform.current
74
76
  },
75
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
77
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
76
78
  spacing: 0.5,
77
79
  children: [
78
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipHeader.TooltipHeader, {
80
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_TooltipHeader.TooltipHeader, {
79
81
  nearbySeries: nearbySeries,
80
82
  totalSeries: totalSeries,
83
+ enablePinning: enablePinning,
81
84
  isTooltipPinned: isTooltipPinned,
82
85
  showAllSeries: showAllSeries,
83
86
  onShowAllClick: (checked)=>setShowAllSeries(checked),
84
87
  onUnpinClick: onUnpinClick
85
88
  }),
86
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipContent.TooltipContent, {
89
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_TooltipContent.TooltipContent, {
87
90
  series: nearbySeries,
88
91
  wrapLabels: wrapLabels
89
92
  })
@@ -16,12 +16,14 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "TooltipContent", {
18
18
  enumerable: true,
19
- get: ()=>TooltipContent
19
+ get: function() {
20
+ return TooltipContent;
21
+ }
20
22
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
23
+ const _jsxruntime = require("react/jsx-runtime");
22
24
  const _react = require("react");
23
25
  const _material = require("@mui/material");
24
- const _seriesInfo = require("./SeriesInfo");
26
+ const _SeriesInfo = require("./SeriesInfo");
25
27
  function TooltipContent(props) {
26
28
  const { series , wrapLabels } = props;
27
29
  const sortedFocusedSeries = (0, _react.useMemo)(()=>{
@@ -34,7 +36,7 @@ function TooltipContent(props) {
34
36
  return null;
35
37
  }
36
38
  // TODO: use react-virtuoso to improve performance
37
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
39
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
38
40
  sx: (theme)=>({
39
41
  display: 'table',
40
42
  padding: theme.spacing(0.5, 2)
@@ -42,7 +44,7 @@ function TooltipContent(props) {
42
44
  children: sortedFocusedSeries.map(({ datumIdx , seriesIdx , seriesName , y , formattedY , markerColor , isClosestToCursor })=>{
43
45
  if (datumIdx === null || seriesIdx === null) return null;
44
46
  const key = seriesIdx.toString() + datumIdx.toString();
45
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesInfo.SeriesInfo, {
47
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_SeriesInfo.SeriesInfo, {
46
48
  seriesName: seriesName,
47
49
  y: y,
48
50
  formattedY: formattedY,
@@ -16,43 +16,45 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "TooltipHeader", {
18
18
  enumerable: true,
19
- get: ()=>TooltipHeader
19
+ get: function() {
20
+ return TooltipHeader;
21
+ }
20
22
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
23
+ const _jsxruntime = require("react/jsx-runtime");
22
24
  const _material = require("@mui/material");
23
- const _pin = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Pin"));
24
- const _pinOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PinOutline"));
25
+ const _Pin = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Pin"));
26
+ const _PinOutline = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/PinOutline"));
25
27
  const _react = require("react");
26
- const _dateFns = require("date-fns");
27
- const _tooltipModel = require("./tooltip-model");
28
- function _interopRequireDefault(obj) {
28
+ const _datefns = require("date-fns");
29
+ const _tooltipmodel = require("./tooltip-model");
30
+ function _interop_require_default(obj) {
29
31
  return obj && obj.__esModule ? obj : {
30
32
  default: obj
31
33
  };
32
34
  }
33
- const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ nearbySeries , totalSeries , isTooltipPinned , showAllSeries , onShowAllClick , onUnpinClick }) {
34
- var ref;
35
- var ref1;
36
- const seriesTimeMs = (ref1 = (ref = nearbySeries[0]) === null || ref === void 0 ? void 0 : ref.date) !== null && ref1 !== void 0 ? ref1 : null;
35
+ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ nearbySeries , totalSeries , isTooltipPinned , showAllSeries , enablePinning =true , onShowAllClick , onUnpinClick }) {
36
+ var _nearbySeries_;
37
+ var _nearbySeries__date;
38
+ const seriesTimeMs = (_nearbySeries__date = (_nearbySeries_ = nearbySeries[0]) === null || _nearbySeries_ === void 0 ? void 0 : _nearbySeries_.date) !== null && _nearbySeries__date !== void 0 ? _nearbySeries__date : null;
37
39
  if (seriesTimeMs === null) {
38
40
  return null;
39
41
  }
40
42
  const formatTimeSeriesHeader = (timeMs)=>{
41
43
  const date = new Date(timeMs);
42
- const formattedDate = (0, _dateFns.format)(date, 'MMM dd, yyyy - ');
43
- const formattedTime = (0, _dateFns.format)(date, 'HH:mm:ss');
44
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
44
+ const formattedDate = (0, _datefns.format)(date, 'MMM dd, yyyy - ');
45
+ const formattedTime = (0, _datefns.format)(date, 'HH:mm:ss');
46
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
45
47
  children: [
46
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
48
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
47
49
  variant: "caption",
48
50
  sx: (theme)=>({
49
51
  color: theme.palette.common.white
50
52
  }),
51
53
  children: formattedDate
52
54
  }),
53
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
55
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
54
56
  variant: "caption",
55
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)("strong", {
57
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("strong", {
56
58
  children: formattedTime
57
59
  })
58
60
  })
@@ -60,24 +62,24 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
60
62
  });
61
63
  };
62
64
  // TODO: accurately calc whether more series are outside scrollable region using yBuffer, avg series name length, TOOLTIP_MAX_HEIGHT
63
- const showAllSeriesToggle = totalSeries > 5;
64
- const pinTooltipHelpText = isTooltipPinned ? 'Click to unpin' : 'Click chart to pin';
65
- var ref2;
66
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
65
+ const showAllSeriesToggle = enablePinning && totalSeries > 5;
66
+ const pinTooltipHelpText = isTooltipPinned ? _tooltipmodel.UNPIN_TOOLTIP_HELP_TEXT : _tooltipmodel.PIN_TOOLTIP_HELP_TEXT;
67
+ var _theme_palette_designSystem_grey_;
68
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
67
69
  sx: (theme)=>{
68
- var ref;
70
+ var _theme_palette_designSystem;
69
71
  return {
70
72
  width: '100%',
71
- maxWidth: _tooltipModel.TOOLTIP_MAX_WIDTH,
73
+ maxWidth: _tooltipmodel.TOOLTIP_MAX_WIDTH,
72
74
  padding: theme.spacing(1.5, 2, 0.5, 2),
73
- backgroundColor: (ref2 = (ref = theme.palette.designSystem) === null || ref === void 0 ? void 0 : ref.grey[800]) !== null && ref2 !== void 0 ? ref2 : _tooltipModel.TOOLTIP_BG_COLOR_FALLBACK,
75
+ backgroundColor: (_theme_palette_designSystem_grey_ = (_theme_palette_designSystem = theme.palette.designSystem) === null || _theme_palette_designSystem === void 0 ? void 0 : _theme_palette_designSystem.grey[800]) !== null && _theme_palette_designSystem_grey_ !== void 0 ? _theme_palette_designSystem_grey_ : _tooltipmodel.TOOLTIP_BG_COLOR_FALLBACK,
74
76
  position: 'sticky',
75
77
  top: 0,
76
78
  left: 0
77
79
  };
78
80
  },
79
81
  children: [
80
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
82
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
81
83
  sx: {
82
84
  width: '100%',
83
85
  display: 'flex',
@@ -87,14 +89,14 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
87
89
  },
88
90
  children: [
89
91
  formatTimeSeriesHeader(seriesTimeMs),
90
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
92
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
91
93
  direction: "row",
92
94
  gap: 1,
93
95
  sx: {
94
96
  marginLeft: 'auto'
95
97
  },
96
98
  children: [
97
- showAllSeriesToggle && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
99
+ showAllSeriesToggle && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
98
100
  direction: "row",
99
101
  gap: 0.5,
100
102
  alignItems: "center",
@@ -102,13 +104,13 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
102
104
  textAlign: 'right'
103
105
  },
104
106
  children: [
105
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
107
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
106
108
  sx: {
107
109
  fontSize: 11
108
110
  },
109
111
  children: "Show All"
110
112
  }),
111
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Switch, {
113
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Switch, {
112
114
  checked: showAllSeries,
113
115
  size: "small",
114
116
  onChange: (_, checked)=>{
@@ -127,11 +129,11 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
127
129
  })
128
130
  ]
129
131
  }),
130
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
132
+ enablePinning && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
131
133
  direction: "row",
132
134
  alignItems: "center",
133
135
  children: [
134
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
136
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
135
137
  sx: {
136
138
  marginRight: 0.5,
137
139
  fontSize: 11,
@@ -139,7 +141,7 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
139
141
  },
140
142
  children: pinTooltipHelpText
141
143
  }),
142
- isTooltipPinned ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pin.default, {
144
+ isTooltipPinned ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Pin.default, {
143
145
  onClick: ()=>{
144
146
  if (onUnpinClick !== undefined) {
145
147
  onUnpinClick();
@@ -149,7 +151,7 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
149
151
  fontSize: 16,
150
152
  cursor: 'pointer'
151
153
  }
152
- }) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pinOutline.default, {
154
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_PinOutline.default, {
153
155
  sx: {
154
156
  fontSize: 16
155
157
  }
@@ -160,7 +162,7 @@ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ ne
160
162
  })
161
163
  ]
162
164
  }),
163
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Divider, {
165
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Divider, {
164
166
  sx: (theme)=>({
165
167
  width: '100%',
166
168
  borderColor: theme.palette.grey['500']
@@ -14,24 +14,26 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./LineChartTooltip"), exports);
18
- _exportStar(require("./SeriesInfo"), exports);
19
- _exportStar(require("./SeriesLabelsStack"), exports);
20
- _exportStar(require("./SeriesMarker"), exports);
21
- _exportStar(require("./TimeChartTooltip"), exports);
22
- _exportStar(require("./TooltipContent"), exports);
23
- _exportStar(require("./TooltipHeader"), exports);
24
- _exportStar(require("./nearby-series"), exports);
25
- _exportStar(require("./tooltip-model"), exports);
26
- _exportStar(require("./utils"), exports);
27
- function _exportStar(from, to) {
17
+ _export_star(require("./LineChartTooltip"), exports);
18
+ _export_star(require("./SeriesInfo"), exports);
19
+ _export_star(require("./SeriesLabelsStack"), exports);
20
+ _export_star(require("./SeriesMarker"), exports);
21
+ _export_star(require("./TimeChartTooltip"), exports);
22
+ _export_star(require("./TooltipContent"), exports);
23
+ _export_star(require("./TooltipHeader"), exports);
24
+ _export_star(require("./nearby-series"), exports);
25
+ _export_star(require("./tooltip-model"), exports);
26
+ _export_star(require("./utils"), exports);
27
+ function _export_star(from, to) {
28
28
  Object.keys(from).forEach(function(k) {
29
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
30
- enumerable: true,
31
- get: function() {
32
- return from[k];
33
- }
34
- });
29
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
30
+ Object.defineProperty(to, k, {
31
+ enumerable: true,
32
+ get: function() {
33
+ return from[k];
34
+ }
35
+ });
36
+ }
35
37
  });
36
38
  return from;
37
39
  }
@@ -21,15 +21,33 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- INCREASE_NEARBY_SERIES_MULTIPLIER: ()=>INCREASE_NEARBY_SERIES_MULTIPLIER,
25
- DYNAMIC_NEARBY_SERIES_MULTIPLIER: ()=>DYNAMIC_NEARBY_SERIES_MULTIPLIER,
26
- SHOW_FEWER_SERIES_LIMIT: ()=>SHOW_FEWER_SERIES_LIMIT,
27
- checkforNearbyTimeSeries: ()=>checkforNearbyTimeSeries,
28
- legacyCheckforNearbySeries: ()=>legacyCheckforNearbySeries,
29
- getNearbySeriesData: ()=>getNearbySeriesData,
30
- legacyGetNearbySeriesData: ()=>legacyGetNearbySeriesData,
31
- isWithinPercentageRange: ()=>isWithinPercentageRange,
32
- getYBuffer: ()=>getYBuffer
24
+ INCREASE_NEARBY_SERIES_MULTIPLIER: function() {
25
+ return INCREASE_NEARBY_SERIES_MULTIPLIER;
26
+ },
27
+ DYNAMIC_NEARBY_SERIES_MULTIPLIER: function() {
28
+ return DYNAMIC_NEARBY_SERIES_MULTIPLIER;
29
+ },
30
+ SHOW_FEWER_SERIES_LIMIT: function() {
31
+ return SHOW_FEWER_SERIES_LIMIT;
32
+ },
33
+ checkforNearbyTimeSeries: function() {
34
+ return checkforNearbyTimeSeries;
35
+ },
36
+ legacyCheckforNearbySeries: function() {
37
+ return legacyCheckforNearbySeries;
38
+ },
39
+ getNearbySeriesData: function() {
40
+ return getNearbySeriesData;
41
+ },
42
+ legacyGetNearbySeriesData: function() {
43
+ return legacyGetNearbySeriesData;
44
+ },
45
+ isWithinPercentageRange: function() {
46
+ return isWithinPercentageRange;
47
+ },
48
+ getYBuffer: function() {
49
+ return getYBuffer;
50
+ }
33
51
  });
34
52
  const _core = require("@perses-dev/core");
35
53
  const _model = require("../model");
@@ -37,12 +55,13 @@ const _utils = require("../utils");
37
55
  const INCREASE_NEARBY_SERIES_MULTIPLIER = 5.5; // adjusts how many series show in tooltip (higher == more series shown)
38
56
  const DYNAMIC_NEARBY_SERIES_MULTIPLIER = 30; // used for adjustment after series number divisor
39
57
  const SHOW_FEWER_SERIES_LIMIT = 5;
40
- function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, unit) {
58
+ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, format) {
59
+ var _data_;
41
60
  const currentNearbySeriesData = [];
42
- var ref;
43
- const cursorX = (ref = pointInGrid[0]) !== null && ref !== void 0 ? ref : null;
44
- var ref1;
45
- const cursorY = (ref1 = pointInGrid[1]) !== null && ref1 !== void 0 ? ref1 : null;
61
+ var _pointInGrid_;
62
+ const cursorX = (_pointInGrid_ = pointInGrid[0]) !== null && _pointInGrid_ !== void 0 ? _pointInGrid_ : null;
63
+ var _pointInGrid_1;
64
+ const cursorY = (_pointInGrid_1 = pointInGrid[1]) !== null && _pointInGrid_1 !== void 0 ? _pointInGrid_1 : null;
46
65
  if (cursorX === null || cursorY === null) return currentNearbySeriesData;
47
66
  if (chart.dispatchAction === undefined) return currentNearbySeriesData;
48
67
  if (!Array.isArray(data)) return currentNearbySeriesData;
@@ -53,8 +72,12 @@ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, cha
53
72
  const duplicateDatapoints = [];
54
73
  const totalSeries = data.length;
55
74
  const yValueCounts = new Map();
56
- let closestTimestamp = null;
57
- let closestDistance = Infinity;
75
+ // Only need to loop through first dataset source since getCommonTimeScale ensures xAxis timestamps are consistent
76
+ const firstTimeSeriesValues = (_data_ = data[0]) === null || _data_ === void 0 ? void 0 : _data_.values;
77
+ const closestTimestamp = (0, _utils.getClosestTimestamp)(firstTimeSeriesValues, cursorX);
78
+ if (closestTimestamp === null) {
79
+ return [];
80
+ }
58
81
  // find the timestamp with data that is closest to cursorX
59
82
  for(let seriesIdx = 0; seriesIdx < totalSeries; seriesIdx++){
60
83
  const currentSeries = seriesMapping[seriesIdx];
@@ -62,20 +85,11 @@ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, cha
62
85
  const currentDataset = totalSeries > 0 ? data[seriesIdx] : null;
63
86
  if (currentDataset == null) break;
64
87
  const currentDatasetValues = currentDataset.values;
65
- // Determine closestTimestamp before checking whether it is equal to xValue. Consolidating
66
- // with second currentDatasetValues loop below would result in duplicate nearby series
67
- for (const [timestamp] of currentDatasetValues){
68
- const distance = Math.abs(timestamp - cursorX);
69
- if (distance < closestDistance) {
70
- closestTimestamp = timestamp;
71
- closestDistance = distance;
72
- }
73
- }
74
88
  if (currentDatasetValues === undefined || !Array.isArray(currentDatasetValues)) break;
75
89
  const lineSeries = currentSeries;
76
90
  const currentSeriesName = lineSeries.name ? lineSeries.name.toString() : '';
77
- var _color;
78
- const markerColor = (_color = lineSeries.color) !== null && _color !== void 0 ? _color : '#000';
91
+ var _lineSeries_color;
92
+ const markerColor = (_lineSeries_color = lineSeries.color) !== null && _lineSeries_color !== void 0 ? _lineSeries_color : '#000';
79
93
  if (Array.isArray(data)) {
80
94
  for(let datumIdx = 0; datumIdx < currentDatasetValues.length; datumIdx++){
81
95
  const nearbyTimeSeries = currentDatasetValues[datumIdx];
@@ -97,10 +111,10 @@ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, cha
97
111
  if (isClosestToCursor) {
98
112
  // shows as bold in tooltip, customize 'emphasis' options in getTimeSeries util
99
113
  emphasizedSeriesIndexes.push(seriesIdx);
100
- var ref2;
114
+ var _yValueCounts_get;
101
115
  // Used to determine which datapoint to apply select styles to.
102
116
  // Accounts for cases where lines may be rendered directly on top of eachother.
103
- const duplicateValuesCount = (ref2 = yValueCounts.get(yValue)) !== null && ref2 !== void 0 ? ref2 : 0;
117
+ const duplicateValuesCount = (_yValueCounts_get = yValueCounts.get(yValue)) !== null && _yValueCounts_get !== void 0 ? _yValueCounts_get : 0;
104
118
  yValueCounts.set(yValue, duplicateValuesCount + 1);
105
119
  if (duplicateValuesCount > 0) {
106
120
  duplicateDatapoints.push({
@@ -125,7 +139,7 @@ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, cha
125
139
  seriesIndex: seriesIdx
126
140
  });
127
141
  }
128
- const formattedY = (0, _core.formatValue)(yValue, unit);
142
+ const formattedY = (0, _core.formatValue)(yValue, format);
129
143
  currentNearbySeriesData.push({
130
144
  seriesIdx: seriesIdx,
131
145
  datumIdx: datumIdx,
@@ -147,12 +161,12 @@ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, cha
147
161
  (0, _utils.batchDispatchNearbySeriesActions)(chart, nearbySeriesIndexes, emphasizedSeriesIndexes, nonEmphasizedSeriesIndexes, emphasizedDatapoints, duplicateDatapoints);
148
162
  return currentNearbySeriesData;
149
163
  }
150
- function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
164
+ function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, format) {
151
165
  const currentNearbySeriesData = [];
152
- var ref;
153
- const cursorX = (ref = pointInGrid[0]) !== null && ref !== void 0 ? ref : null;
154
- var ref1;
155
- const cursorY = (ref1 = pointInGrid[1]) !== null && ref1 !== void 0 ? ref1 : null;
166
+ var _pointInGrid_;
167
+ const cursorX = (_pointInGrid_ = pointInGrid[0]) !== null && _pointInGrid_ !== void 0 ? _pointInGrid_ : null;
168
+ var _pointInGrid_1;
169
+ const cursorY = (_pointInGrid_1 = pointInGrid[1]) !== null && _pointInGrid_1 !== void 0 ? _pointInGrid_1 : null;
156
170
  if (cursorX === null || cursorY === null) {
157
171
  return currentNearbySeriesData;
158
172
  }
@@ -166,12 +180,12 @@ function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
166
180
  if (currentSeries === undefined) break;
167
181
  if (currentNearbySeriesData.length >= _model.OPTIMIZED_MODE_SERIES_LIMIT) break;
168
182
  const currentSeriesName = currentSeries.name ? currentSeries.name.toString() : '';
169
- var _color;
170
- const markerColor = (_color = currentSeries.color) !== null && _color !== void 0 ? _color : '#000';
183
+ var _currentSeries_color;
184
+ const markerColor = (_currentSeries_color = currentSeries.color) !== null && _currentSeries_color !== void 0 ? _currentSeries_color : '#000';
171
185
  if (Array.isArray(currentSeries.data)) {
172
186
  for(let datumIdx = 0; datumIdx < currentSeries.data.length; datumIdx++){
173
- var _datumIdx;
174
- const xValue = (_datumIdx = data.xAxis[datumIdx]) !== null && _datumIdx !== void 0 ? _datumIdx : 0;
187
+ var _data_xAxis_datumIdx;
188
+ const xValue = (_data_xAxis_datumIdx = data.xAxis[datumIdx]) !== null && _data_xAxis_datumIdx !== void 0 ? _data_xAxis_datumIdx : 0;
175
189
  const yValue = currentSeries.data[datumIdx];
176
190
  // ensure null values not displayed in tooltip
177
191
  if (yValue !== undefined && yValue !== null && cursorX === datumIdx) {
@@ -198,7 +212,7 @@ function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
198
212
  }
199
213
  // determine whether to convert timestamp to ms, see: https://stackoverflow.com/a/23982005/17575201
200
214
  const xValueMilliSeconds = xValue > 99999999999 ? xValue : xValue * 1000;
201
- const formattedY = (0, _core.formatValue)(yValue, unit);
215
+ const formattedY = (0, _core.formatValue)(yValue, format);
202
216
  currentNearbySeriesData.push({
203
217
  seriesIdx: seriesIdx,
204
218
  datumIdx: datumIdx,
@@ -245,7 +259,7 @@ function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
245
259
  }
246
260
  return currentNearbySeriesData;
247
261
  }
248
- function getNearbySeriesData({ mousePos , pinnedPos , data , seriesMapping , chart , unit , showAllSeries =false }) {
262
+ function getNearbySeriesData({ mousePos , pinnedPos , data , seriesMapping , chart , format , showAllSeries =false }) {
249
263
  if (chart === undefined || mousePos === null) return [];
250
264
  // prevents multiple tooltips showing from adjacent charts unless tooltip is pinned
251
265
  let cursorTargetMatchesChart = false;
@@ -278,11 +292,11 @@ function getNearbySeriesData({ mousePos , pinnedPos , data , seriesMapping , cha
278
292
  totalSeries,
279
293
  showAllSeries
280
294
  });
281
- return checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, unit);
295
+ return checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, format);
282
296
  }
283
297
  return [];
284
298
  }
285
- function legacyGetNearbySeriesData({ mousePos , pinnedPos , chartData , chart , unit , showAllSeries =false }) {
299
+ function legacyGetNearbySeriesData({ mousePos , pinnedPos , chartData , chart , format , showAllSeries =false }) {
286
300
  if (chart === undefined || mousePos === null) return [];
287
301
  // prevents multiple tooltips showing from adjacent charts unless tooltip is pinned
288
302
  let cursorTargetMatchesChart = false;
@@ -313,15 +327,15 @@ function legacyGetNearbySeriesData({ mousePos , pinnedPos , chartData , chart ,
313
327
  totalSeries,
314
328
  showAllSeries
315
329
  });
316
- var _x, _y;
330
+ var _mousePos_plotCanvas_x, _mousePos_plotCanvas_y;
317
331
  const pointInPixel = [
318
- (_x = mousePos.plotCanvas.x) !== null && _x !== void 0 ? _x : 0,
319
- (_y = mousePos.plotCanvas.y) !== null && _y !== void 0 ? _y : 0
332
+ (_mousePos_plotCanvas_x = mousePos.plotCanvas.x) !== null && _mousePos_plotCanvas_x !== void 0 ? _mousePos_plotCanvas_x : 0,
333
+ (_mousePos_plotCanvas_y = mousePos.plotCanvas.y) !== null && _mousePos_plotCanvas_y !== void 0 ? _mousePos_plotCanvas_y : 0
320
334
  ];
321
335
  if (chart.containPixel('grid', pointInPixel)) {
322
336
  const pointInGrid = chart.convertFromPixel('grid', pointInPixel);
323
337
  if (pointInGrid[0] !== undefined && pointInGrid[1] !== undefined) {
324
- return legacyCheckforNearbySeries(chartData, pointInGrid, yBuffer, chart, unit);
338
+ return legacyCheckforNearbySeries(chartData, pointInGrid, yBuffer, chart, format);
325
339
  }
326
340
  }
327
341
  return [];
@@ -21,20 +21,57 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- TOOLTIP_MIN_WIDTH: ()=>TOOLTIP_MIN_WIDTH,
25
- TOOLTIP_MAX_WIDTH: ()=>TOOLTIP_MAX_WIDTH,
26
- TOOLTIP_MAX_HEIGHT: ()=>TOOLTIP_MAX_HEIGHT,
27
- TOOLTIP_LABELS_MAX_WIDTH: ()=>TOOLTIP_LABELS_MAX_WIDTH,
28
- TOOLTIP_ADJUST_Y_POS_MULTIPLIER: ()=>TOOLTIP_ADJUST_Y_POS_MULTIPLIER,
29
- TOOLTIP_PADDING: ()=>TOOLTIP_PADDING,
30
- FALLBACK_CHART_WIDTH: ()=>FALLBACK_CHART_WIDTH,
31
- NEARBY_SERIES_DESCRIPTION: ()=>NEARBY_SERIES_DESCRIPTION,
32
- EMPHASIZED_SERIES_DESCRIPTION: ()=>EMPHASIZED_SERIES_DESCRIPTION,
33
- TOOLTIP_BG_COLOR_FALLBACK: ()=>TOOLTIP_BG_COLOR_FALLBACK,
34
- TOOLTIP_DATE_FORMAT: ()=>TOOLTIP_DATE_FORMAT,
35
- defaultCursorData: ()=>defaultCursorData,
36
- emptyTooltipData: ()=>emptyTooltipData,
37
- useMousePosition: ()=>useMousePosition
24
+ TOOLTIP_MIN_WIDTH: function() {
25
+ return TOOLTIP_MIN_WIDTH;
26
+ },
27
+ TOOLTIP_MAX_WIDTH: function() {
28
+ return TOOLTIP_MAX_WIDTH;
29
+ },
30
+ TOOLTIP_MAX_HEIGHT: function() {
31
+ return TOOLTIP_MAX_HEIGHT;
32
+ },
33
+ TOOLTIP_LABELS_MAX_WIDTH: function() {
34
+ return TOOLTIP_LABELS_MAX_WIDTH;
35
+ },
36
+ TOOLTIP_ADJUST_Y_POS_MULTIPLIER: function() {
37
+ return TOOLTIP_ADJUST_Y_POS_MULTIPLIER;
38
+ },
39
+ TOOLTIP_PADDING: function() {
40
+ return TOOLTIP_PADDING;
41
+ },
42
+ FALLBACK_CHART_WIDTH: function() {
43
+ return FALLBACK_CHART_WIDTH;
44
+ },
45
+ NEARBY_SERIES_DESCRIPTION: function() {
46
+ return NEARBY_SERIES_DESCRIPTION;
47
+ },
48
+ EMPHASIZED_SERIES_DESCRIPTION: function() {
49
+ return EMPHASIZED_SERIES_DESCRIPTION;
50
+ },
51
+ TOOLTIP_BG_COLOR_FALLBACK: function() {
52
+ return TOOLTIP_BG_COLOR_FALLBACK;
53
+ },
54
+ TOOLTIP_DATE_FORMAT: function() {
55
+ return TOOLTIP_DATE_FORMAT;
56
+ },
57
+ defaultCursorData: function() {
58
+ return defaultCursorData;
59
+ },
60
+ emptyTooltipData: function() {
61
+ return emptyTooltipData;
62
+ },
63
+ useMousePosition: function() {
64
+ return useMousePosition;
65
+ },
66
+ DEFAULT_TOOLTIP_CONFIG: function() {
67
+ return DEFAULT_TOOLTIP_CONFIG;
68
+ },
69
+ PIN_TOOLTIP_HELP_TEXT: function() {
70
+ return PIN_TOOLTIP_HELP_TEXT;
71
+ },
72
+ UNPIN_TOOLTIP_HELP_TEXT: function() {
73
+ return UNPIN_TOOLTIP_HELP_TEXT;
74
+ }
38
75
  });
39
76
  const _react = require("react");
40
77
  const TOOLTIP_MIN_WIDTH = 375;
@@ -108,3 +145,9 @@ const useMousePosition = ()=>{
108
145
  }, []);
109
146
  return coords;
110
147
  };
148
+ const DEFAULT_TOOLTIP_CONFIG = {
149
+ wrapLabels: true,
150
+ enablePinning: true
151
+ };
152
+ const PIN_TOOLTIP_HELP_TEXT = 'Click chart to pin';
153
+ const UNPIN_TOOLTIP_HELP_TEXT = 'Click chart to unpin';