@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,25 +16,28 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "TimeChart", {
18
18
  enumerable: true,
19
- get: ()=>TimeChart
19
+ get: function() {
20
+ return TimeChart;
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 _merge = /*#__PURE__*/ _interopRequireDefault(require("lodash/merge"));
25
- const _dateFnsTz = require("date-fns-tz");
26
+ const _merge = /*#__PURE__*/ _interop_require_default(require("lodash/merge"));
27
+ const _isEqual = /*#__PURE__*/ _interop_require_default(require("lodash/isEqual"));
28
+ const _datefnstz = require("date-fns-tz");
26
29
  const _core = require("@perses-dev/core");
27
30
  const _core1 = require("echarts/core");
28
31
  const _charts = require("echarts/charts");
29
32
  const _components = require("echarts/components");
30
33
  const _renderers = require("echarts/renderers");
31
- const _echart = require("../EChart");
32
- const _graph = require("../model/graph");
33
- const _chartsThemeProvider = require("../context/ChartsThemeProvider");
34
+ const _EChart = require("../EChart");
35
+ const _model = require("../model");
36
+ const _ChartsProvider = require("../context/ChartsProvider");
34
37
  const _utils = require("../utils");
35
- const _timeSeriesTooltip = require("../TimeSeriesTooltip");
36
- const _timeZoneProvider = require("../context/TimeZoneProvider");
37
- function _interopRequireDefault(obj) {
38
+ const _TimeSeriesTooltip = require("../TimeSeriesTooltip");
39
+ const _TimeZoneProvider = require("../context/TimeZoneProvider");
40
+ function _interop_require_default(obj) {
38
41
  return obj && obj.__esModule ? obj : {
39
42
  default: obj
40
43
  };
@@ -53,19 +56,19 @@ function _interopRequireDefault(obj) {
53
56
  _components.TooltipComponent,
54
57
  _renderers.CanvasRenderer
55
58
  ]);
56
- const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ height , data , seriesMapping , timeScale: timeScaleProp , yAxis , unit , grid , isStackedBar =false , tooltipConfig ={
57
- wrapLabels: true
58
- } , noDataVariant ='message' , syncGroup , onDataZoom , onDoubleClick , __experimentalEChartsOptionsOverride , }, ref) {
59
- var ref1;
60
- const chartsTheme = (0, _chartsThemeProvider.useChartsTheme)();
59
+ const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ height , data , seriesMapping , timeScale: timeScaleProp , yAxis , format , grid , isStackedBar =false , tooltipConfig =_TimeSeriesTooltip.DEFAULT_TOOLTIP_CONFIG , noDataVariant ='message' , syncGroup , onDataZoom , onDoubleClick , __experimentalEChartsOptionsOverride }, ref) {
60
+ var _option_tooltip;
61
+ const { chartsTheme , enablePinning , lastTooltipPinnedCoords , setLastTooltipPinnedCoords } = (0, _ChartsProvider.useChartsContext)();
62
+ const isPinningEnabled = tooltipConfig.enablePinning && enablePinning;
61
63
  const chartRef = (0, _react.useRef)();
62
64
  const [showTooltip, setShowTooltip] = (0, _react.useState)(true);
63
65
  const [tooltipPinnedCoords, setTooltipPinnedCoords] = (0, _react.useState)(null);
66
+ const [pinnedCrosshair, setPinnedCrosshair] = (0, _react.useState)(null);
64
67
  const [isDragging, setIsDragging] = (0, _react.useState)(false);
65
68
  const [startX, setStartX] = (0, _react.useState)(0);
66
- const { timeZone } = (0, _timeZoneProvider.useTimeZone)();
67
- var ref2;
68
- const totalSeries = (ref2 = data === null || data === void 0 ? void 0 : data.length) !== null && ref2 !== void 0 ? ref2 : 0;
69
+ const { timeZone } = (0, _TimeZoneProvider.useTimeZone)();
70
+ var _data_length;
71
+ const totalSeries = (_data_length = data === null || data === void 0 ? void 0 : data.length) !== null && _data_length !== void 0 ? _data_length : 0;
69
72
  let timeScale;
70
73
  if (timeScaleProp === undefined) {
71
74
  const commonTimeScale = (0, _core.getCommonTimeScale)(data);
@@ -154,7 +157,7 @@ const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ heig
154
157
  const values = d.values.map(([timestamp, value])=>{
155
158
  const val = value === null ? '-' : value; // echarts use '-' to represent null data
156
159
  return [
157
- isLocalTimeZone ? timestamp : (0, _dateFnsTz.utcToZonedTime)(timestamp, timeZone),
160
+ isLocalTimeZone ? timestamp : (0, _datefnstz.utcToZonedTime)(timestamp, timeZone),
158
161
  val
159
162
  ];
160
163
  });
@@ -169,29 +172,34 @@ const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ heig
169
172
  ]
170
173
  });
171
174
  });
172
- var _rangeMs;
175
+ const updatedSeriesMapping = enablePinning && pinnedCrosshair !== null ? [
176
+ ...seriesMapping,
177
+ pinnedCrosshair
178
+ ] : seriesMapping;
179
+ var _timeScale_rangeMs;
173
180
  const option = {
174
181
  dataset: dataset,
175
- series: seriesMapping,
182
+ series: updatedSeriesMapping,
176
183
  xAxis: {
177
184
  type: 'time',
178
- min: isLocalTimeZone ? timeScale.startMs : (0, _dateFnsTz.utcToZonedTime)(timeScale.startMs, timeZone),
179
- max: isLocalTimeZone ? timeScale.endMs : (0, _dateFnsTz.utcToZonedTime)(timeScale.endMs, timeZone),
185
+ min: isLocalTimeZone ? timeScale.startMs : (0, _datefnstz.utcToZonedTime)(timeScale.startMs, timeZone),
186
+ max: isLocalTimeZone ? timeScale.endMs : (0, _datefnstz.utcToZonedTime)(timeScale.endMs, timeZone),
180
187
  axisLabel: {
181
188
  hideOverlap: true,
182
- formatter: (0, _utils.getFormattedAxisLabel)((_rangeMs = timeScale.rangeMs) !== null && _rangeMs !== void 0 ? _rangeMs : 0)
189
+ formatter: (0, _utils.getFormattedAxisLabel)((_timeScale_rangeMs = timeScale.rangeMs) !== null && _timeScale_rangeMs !== void 0 ? _timeScale_rangeMs : 0)
183
190
  },
184
191
  axisPointer: {
185
192
  snap: false
186
193
  }
187
194
  },
188
- yAxis: (0, _utils.getYAxes)(yAxis, unit),
195
+ yAxis: (0, _utils.getFormattedAxis)(yAxis, format),
189
196
  animation: false,
190
197
  tooltip: {
191
198
  show: true,
192
- trigger: isStackedBar ? 'item' : 'axis',
193
- // ECharts tooltip content hidden since we use custom tooltip instead
199
+ // ECharts tooltip content hidden by default since we use custom tooltip instead.
200
+ // Stacked bar uses ECharts tooltip so subgroup data shows correctly.
194
201
  showContent: isStackedBar,
202
+ trigger: isStackedBar ? 'item' : 'axis',
195
203
  appendToBody: true
196
204
  },
197
205
  // https://echarts.apache.org/en/option.html#axisPointer
@@ -216,73 +224,112 @@ const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ heig
216
224
  return __experimentalEChartsOptionsOverride(option);
217
225
  }
218
226
  return option;
219
- // tooltipPinnedCoords is needed in dep array so crosshair stays beside pinned tooltip onClick
220
- // eslint-disable-next-line react-hooks/exhaustive-deps
221
227
  }, [
222
228
  data,
223
229
  seriesMapping,
224
230
  timeScale,
225
231
  yAxis,
226
- unit,
232
+ format,
227
233
  grid,
228
234
  noDataOption,
229
235
  __experimentalEChartsOptionsOverride,
230
236
  noDataVariant,
231
237
  timeZone,
232
- tooltipPinnedCoords,
233
- isStackedBar
238
+ isStackedBar,
239
+ enablePinning,
240
+ pinnedCrosshair
234
241
  ]);
235
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
242
+ // Update adjacent charts so tooltip is unpinned when current chart is clicked.
243
+ (0, _react.useEffect)(()=>{
244
+ // Only allow pinning one tooltip at a time, subsequent tooltip click unpins previous.
245
+ // Multiple tooltips can only be pinned if Ctrl or Cmd key is pressed while clicking.
246
+ const multipleTooltipsPinned = tooltipPinnedCoords !== null && lastTooltipPinnedCoords !== null;
247
+ if (multipleTooltipsPinned) {
248
+ if (!(0, _isEqual.default)(lastTooltipPinnedCoords, tooltipPinnedCoords)) {
249
+ setTooltipPinnedCoords(null);
250
+ if (tooltipPinnedCoords !== null && pinnedCrosshair !== null) {
251
+ setPinnedCrosshair(null);
252
+ }
253
+ }
254
+ }
255
+ // tooltipPinnedCoords CANNOT be in dep array or tooltip pinning breaks in the current chart's onClick
256
+ // eslint-disable-next-line react-hooks/exhaustive-deps
257
+ }, [
258
+ lastTooltipPinnedCoords,
259
+ seriesMapping
260
+ ]);
261
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
236
262
  sx: {
237
263
  height
238
264
  },
265
+ // onContextMenu={(e) => {
266
+ // // TODO: confirm tooltip pinning works correctly on Windows, should e.preventDefault() be added here
267
+ // e.preventDefault(); // Prevent the default behaviour when right clicked
268
+ // }}
239
269
  onClick: (e)=>{
240
- var ref;
270
+ // Allows user to opt-in to multi tooltip pinning when Ctrl or Cmd key held down
271
+ const isControlKeyPressed = e.ctrlKey || e.metaKey;
272
+ if (isControlKeyPressed) {
273
+ e.preventDefault();
274
+ }
241
275
  // Determine where on chart canvas to plot pinned crosshair as markLine.
242
276
  const pointInGrid = (0, _utils.getPointInGrid)(e.nativeEvent.offsetX, e.nativeEvent.offsetY, chartRef.current);
243
277
  if (pointInGrid === null) {
244
278
  return;
245
279
  }
246
- // Clear previously set pinned crosshair
247
- const isCrosshairPinned = ((ref = seriesMapping[seriesMapping.length - 1]) === null || ref === void 0 ? void 0 : ref.name) === _graph.PINNED_CROSSHAIR_SERIES_NAME;
248
- if (tooltipPinnedCoords !== null && isCrosshairPinned) {
249
- seriesMapping.pop();
250
- } else if (seriesMapping.length !== data.length + 1) {
251
- // Only add pinned crosshair line series when there is not one already in seriesMapping.
252
- const pinnedCrosshair = (0, _merge.default)(_graph.DEFAULT_PINNED_CROSSHAIR, {
253
- markLine: {
254
- data: [
255
- {
256
- xAxis: pointInGrid[0]
257
- }
258
- ]
259
- }
260
- });
261
- seriesMapping.push(pinnedCrosshair);
262
- }
263
280
  // Pin and unpin when clicking on chart canvas but not tooltip text.
264
- if (e.target instanceof HTMLCanvasElement) {
281
+ if (isPinningEnabled && e.target instanceof HTMLCanvasElement) {
282
+ // Pin tooltip and update shared charts context to remember these coordinates.
283
+ const pinnedPos = {
284
+ page: {
285
+ x: e.pageX,
286
+ y: e.pageY
287
+ },
288
+ client: {
289
+ x: e.clientX,
290
+ y: e.clientY
291
+ },
292
+ plotCanvas: {
293
+ x: e.nativeEvent.offsetX,
294
+ y: e.nativeEvent.offsetY
295
+ },
296
+ target: e.target
297
+ };
265
298
  setTooltipPinnedCoords((current)=>{
266
299
  if (current === null) {
267
- return {
268
- page: {
269
- x: e.pageX,
270
- y: e.pageY
271
- },
272
- client: {
273
- x: e.clientX,
274
- y: e.clientY
275
- },
276
- plotCanvas: {
277
- x: e.nativeEvent.offsetX,
278
- y: e.nativeEvent.offsetY
279
- },
280
- target: e.target
281
- };
300
+ return pinnedPos;
282
301
  } else {
302
+ setPinnedCrosshair(null);
283
303
  return null;
284
304
  }
285
305
  });
306
+ setPinnedCrosshair((current)=>{
307
+ // Only add pinned crosshair line series when there is not one already in seriesMapping.
308
+ if (current === null) {
309
+ var _data_;
310
+ const cursorX = pointInGrid[0];
311
+ // Only need to loop through first dataset source since getCommonTimeScale ensures xAxis timestamps are consistent
312
+ const firstTimeSeriesValues = (_data_ = data[0]) === null || _data_ === void 0 ? void 0 : _data_.values;
313
+ const closestTimestamp = (0, _utils.getClosestTimestamp)(firstTimeSeriesValues, cursorX);
314
+ // Crosshair snaps to nearest timestamp since cursor may be slightly to left or right
315
+ const pinnedCrosshair = (0, _merge.default)({}, _model.DEFAULT_PINNED_CROSSHAIR, {
316
+ markLine: {
317
+ data: [
318
+ {
319
+ xAxis: closestTimestamp
320
+ }
321
+ ]
322
+ }
323
+ });
324
+ return pinnedCrosshair;
325
+ } else {
326
+ // Clear previously set pinned crosshair
327
+ return null;
328
+ }
329
+ });
330
+ if (!isControlKeyPressed) {
331
+ setLastTooltipPinnedCoords(pinnedPos);
332
+ }
286
333
  }
287
334
  },
288
335
  onMouseDown: (e)=>{
@@ -335,21 +382,23 @@ const TimeChart = /*#__PURE__*/ (0, _react.forwardRef)(function TimeChart({ heig
335
382
  }
336
383
  },
337
384
  children: [
338
- showTooltip === true && ((ref1 = option.tooltip) === null || ref1 === void 0 ? void 0 : ref1.showContent) === false && tooltipConfig.hidden !== true && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_timeSeriesTooltip.TimeChartTooltip, {
385
+ showTooltip === true && ((_option_tooltip = option.tooltip) === null || _option_tooltip === void 0 ? void 0 : _option_tooltip.showContent) === false && tooltipConfig.hidden !== true && /*#__PURE__*/ (0, _jsxruntime.jsx)(_TimeSeriesTooltip.TimeChartTooltip, {
339
386
  containerId: chartsTheme.tooltipPortalContainerId,
340
387
  chartRef: chartRef,
341
388
  data: data,
342
389
  seriesMapping: seriesMapping,
343
390
  wrapLabels: tooltipConfig.wrapLabels,
391
+ enablePinning: isPinningEnabled,
344
392
  pinnedPos: tooltipPinnedCoords,
345
- unit: unit,
393
+ format: format,
346
394
  onUnpinClick: ()=>{
395
+ // Unpins tooltip when clicking Pin icon in TooltipHeader.
347
396
  setTooltipPinnedCoords(null);
348
- // Clear previously set pinned crosshair
349
- seriesMapping.pop();
397
+ // Clear previously set pinned crosshair.
398
+ setPinnedCrosshair(null);
350
399
  }
351
400
  }),
352
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_echart.EChart, {
401
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_EChart.EChart, {
353
402
  sx: {
354
403
  width: '100%',
355
404
  height: '100%'
@@ -14,15 +14,17 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./TimeChart"), exports);
18
- function _exportStar(from, to) {
17
+ _export_star(require("./TimeChart"), exports);
18
+ function _export_star(from, to) {
19
19
  Object.keys(from).forEach(function(k) {
20
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
21
- enumerable: true,
22
- get: function() {
23
- return from[k];
24
- }
25
- });
20
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
21
+ Object.defineProperty(to, k, {
22
+ enumerable: true,
23
+ get: function() {
24
+ return from[k];
25
+ }
26
+ });
27
+ }
26
28
  });
27
29
  return from;
28
30
  }
@@ -16,41 +16,43 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "LineChartTooltip", {
18
18
  enumerable: true,
19
- get: ()=>LineChartTooltip
19
+ get: function() {
20
+ return LineChartTooltip;
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
25
  const _react = require("react");
24
- const _useResizeObserver = /*#__PURE__*/ _interopRequireDefault(require("use-resize-observer"));
25
- const _tooltipContent = require("./TooltipContent");
26
- const _tooltipHeader = require("./TooltipHeader");
27
- const _nearbySeries = require("./nearby-series");
28
- const _tooltipModel = require("./tooltip-model");
26
+ const _useresizeobserver = /*#__PURE__*/ _interop_require_default(require("use-resize-observer"));
27
+ const _TooltipContent = require("./TooltipContent");
28
+ const _TooltipHeader = require("./TooltipHeader");
29
+ const _nearbyseries = require("./nearby-series");
30
+ const _tooltipmodel = require("./tooltip-model");
29
31
  const _utils = require("./utils");
30
- function _interopRequireDefault(obj) {
32
+ function _interop_require_default(obj) {
31
33
  return obj && obj.__esModule ? obj : {
32
34
  default: obj
33
35
  };
34
36
  }
35
- const LineChartTooltip = /*#__PURE__*/ (0, _react.memo)(function LineChartTooltip({ chartRef , chartData , wrapLabels , unit , onUnpinClick , pinnedPos , containerId }) {
37
+ const LineChartTooltip = /*#__PURE__*/ (0, _react.memo)(function LineChartTooltip({ chartRef , chartData , enablePinning =true , wrapLabels , format , onUnpinClick , pinnedPos , containerId }) {
36
38
  const [showAllSeries, setShowAllSeries] = (0, _react.useState)(false);
37
- const mousePos = (0, _tooltipModel.useMousePosition)();
38
- const { height , width , ref: tooltipRef } = (0, _useResizeObserver.default)();
39
+ const mousePos = (0, _tooltipmodel.useMousePosition)();
40
+ const { height , width , ref: tooltipRef } = (0, _useresizeobserver.default)();
39
41
  const transform = (0, _react.useRef)('');
40
- const isTooltipPinned = pinnedPos !== null;
42
+ const isTooltipPinned = pinnedPos !== null && enablePinning;
41
43
  if (mousePos === null || mousePos.target === 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
  // Get series nearby the cursor and pass into tooltip content children.
48
- const nearbySeries = (0, _nearbySeries.legacyGetNearbySeriesData)({
50
+ const nearbySeries = (0, _nearbyseries.legacyGetNearbySeriesData)({
49
51
  mousePos,
50
52
  chartData,
51
53
  pinnedPos,
52
54
  chart,
53
- unit,
55
+ format,
54
56
  showAllSeries
55
57
  });
56
58
  if (nearbySeries.length === 0) {
@@ -63,22 +65,22 @@ const LineChartTooltip = /*#__PURE__*/ (0, _react.memo)(function LineChartToolti
63
65
  if (!isTooltipPinned) {
64
66
  transform.current = (0, _utils.assembleTransform)(mousePos, chartWidth, pinnedPos, height !== null && height !== void 0 ? height : 0, width !== null && width !== void 0 ? width : 0, containerElement);
65
67
  }
66
- var ref1;
67
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Portal, {
68
+ var _theme_palette_designSystem_grey_;
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)=>{
72
- var ref;
74
+ var _theme_palette_designSystem;
73
75
  return {
74
- minWidth: _tooltipModel.TOOLTIP_MIN_WIDTH,
75
- maxWidth: _tooltipModel.TOOLTIP_MAX_WIDTH,
76
- maxHeight: maxHeight !== null && maxHeight !== void 0 ? maxHeight : _tooltipModel.TOOLTIP_MAX_HEIGHT,
76
+ minWidth: _tooltipmodel.TOOLTIP_MIN_WIDTH,
77
+ maxWidth: _tooltipmodel.TOOLTIP_MAX_WIDTH,
78
+ maxHeight: maxHeight !== null && maxHeight !== void 0 ? maxHeight : _tooltipmodel.TOOLTIP_MAX_HEIGHT,
77
79
  padding: 0,
78
80
  position: 'absolute',
79
81
  top: 0,
80
82
  left: 0,
81
- backgroundColor: (ref1 = (ref = theme.palette.designSystem) === null || ref === void 0 ? void 0 : ref.grey[800]) !== null && ref1 !== void 0 ? ref1 : _tooltipModel.TOOLTIP_BG_COLOR_FALLBACK,
83
+ 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,
82
84
  borderRadius: '6px',
83
85
  color: '#fff',
84
86
  fontSize: '11px',
@@ -96,18 +98,19 @@ const LineChartTooltip = /*#__PURE__*/ (0, _react.memo)(function LineChartToolti
96
98
  style: {
97
99
  transform: transform.current
98
100
  },
99
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
101
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
100
102
  spacing: 0.5,
101
103
  children: [
102
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipHeader.TooltipHeader, {
104
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_TooltipHeader.TooltipHeader, {
103
105
  nearbySeries: nearbySeries,
104
106
  totalSeries: totalSeries,
107
+ enablePinning: enablePinning,
105
108
  isTooltipPinned: isTooltipPinned,
106
109
  showAllSeries: showAllSeries,
107
110
  onShowAllClick: (checked)=>setShowAllSeries(checked),
108
111
  onUnpinClick: onUnpinClick
109
112
  }),
110
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipContent.TooltipContent, {
113
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_TooltipContent.TooltipContent, {
111
114
  series: nearbySeries,
112
115
  wrapLabels: wrapLabels
113
116
  })
@@ -16,28 +16,30 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "SeriesInfo", {
18
18
  enumerable: true,
19
- get: ()=>SeriesInfo
19
+ get: function() {
20
+ return SeriesInfo;
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 _seriesMarker = require("./SeriesMarker");
24
- const _seriesLabelsStack = require("./SeriesLabelsStack");
25
- const _tooltipModel = require("./tooltip-model");
25
+ const _SeriesMarker = require("./SeriesMarker");
26
+ const _SeriesLabelsStack = require("./SeriesLabelsStack");
27
+ const _tooltipmodel = require("./tooltip-model");
26
28
  function SeriesInfo(props) {
27
29
  const { seriesName , formattedY , markerColor , totalSeries , emphasizeText =false , wrapLabels =true } = props;
28
30
  // metric __name__ comes before opening curly brace, ignore if not populated
29
31
  // ex with metric name: node_load15{env="demo",job="node"}
30
32
  // ex without metric name: {env="demo",job="node"}
31
33
  const splitName = seriesName.split('{');
32
- var ref;
33
- const seriesLabels = (ref = splitName[1]) !== null && ref !== void 0 ? ref : seriesName;
34
+ var _splitName_;
35
+ const seriesLabels = (_splitName_ = splitName[1]) !== null && _splitName_ !== void 0 ? _splitName_ : seriesName;
34
36
  // remove curly braces that wrap labels
35
37
  const formattedSeriesLabels = seriesLabels.replace(/[{}]/g, '');
36
38
  // determine whether to show labels on separate lines
37
39
  const splitLabels = formattedSeriesLabels.split(',');
38
40
  if (totalSeries === 1 && splitLabels.length > 1) {
39
41
  const metricName = splitName[0] ? `${splitName[0]}:` : 'value:';
40
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesLabelsStack.SeriesLabelsStack, {
42
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_SeriesLabelsStack.SeriesLabelsStack, {
41
43
  formattedY: formattedY,
42
44
  metricName: metricName,
43
45
  metricLabels: splitLabels,
@@ -46,43 +48,43 @@ function SeriesInfo(props) {
46
48
  }
47
49
  // add space after commas so wrapLabels works
48
50
  const formattedSeriesInfo = seriesName.replace(/[,]/g, ', ');
49
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
51
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
50
52
  sx: {
51
53
  display: 'table-row',
52
54
  paddingTop: 0.5
53
55
  },
54
56
  children: [
55
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
57
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
56
58
  sx: {
57
59
  display: 'table-cell',
58
60
  maxWidth: '520px'
59
61
  },
60
62
  children: [
61
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesMarker.SeriesMarker, {
63
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_SeriesMarker.SeriesMarker, {
62
64
  markerColor: markerColor,
63
65
  sx: {
64
66
  marginTop: 0.5
65
67
  }
66
68
  }),
67
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
69
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
68
70
  component: "span",
69
71
  sx: (theme)=>({
70
72
  display: 'inline-block',
71
73
  width: 'calc(100% - 20px)',
72
74
  minWidth: 150,
73
- maxWidth: _tooltipModel.TOOLTIP_LABELS_MAX_WIDTH,
75
+ maxWidth: _tooltipmodel.TOOLTIP_LABELS_MAX_WIDTH,
74
76
  overflow: 'hidden',
75
77
  color: theme.palette.common.white,
76
78
  fontWeight: emphasizeText ? theme.typography.fontWeightBold : theme.typography.fontWeightRegular,
77
79
  textOverflow: 'ellipsis',
78
80
  whiteSpace: wrapLabels ? 'normal' : 'nowrap'
79
81
  }),
80
- "aria-label": emphasizeText ? _tooltipModel.EMPHASIZED_SERIES_DESCRIPTION : _tooltipModel.NEARBY_SERIES_DESCRIPTION,
82
+ "aria-label": emphasizeText ? _tooltipmodel.EMPHASIZED_SERIES_DESCRIPTION : _tooltipmodel.NEARBY_SERIES_DESCRIPTION,
81
83
  children: formattedSeriesInfo
82
84
  })
83
85
  ]
84
86
  }),
85
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
87
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
86
88
  sx: (theme)=>({
87
89
  display: 'table-cell',
88
90
  paddingLeft: 1.5,
@@ -16,17 +16,19 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "SeriesLabelsStack", {
18
18
  enumerable: true,
19
- get: ()=>SeriesLabelsStack
19
+ get: function() {
20
+ return SeriesLabelsStack;
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 _seriesMarker = require("./SeriesMarker");
25
+ const _SeriesMarker = require("./SeriesMarker");
24
26
  function SeriesLabelsStack(props) {
25
27
  const { formattedY , markerColor , metricName , metricLabels } = props;
26
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
28
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
27
29
  spacing: 0.5,
28
30
  children: [
29
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
31
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
30
32
  sx: (theme)=>({
31
33
  display: 'flex',
32
34
  height: '16px',
@@ -37,17 +39,17 @@ function SeriesLabelsStack(props) {
37
39
  fontSize: '11px'
38
40
  }),
39
41
  children: [
40
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesMarker.SeriesMarker, {
42
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_SeriesMarker.SeriesMarker, {
41
43
  markerColor: markerColor,
42
44
  sx: {
43
45
  marginTop: 0.25
44
46
  }
45
47
  }),
46
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
48
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
47
49
  component: "span",
48
50
  children: [
49
51
  metricName,
50
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
52
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
51
53
  component: "span",
52
54
  sx: (theme)=>({
53
55
  color: theme.palette.common.white,
@@ -60,12 +62,12 @@ function SeriesLabelsStack(props) {
60
62
  })
61
63
  ]
62
64
  }),
63
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Divider, {
65
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Divider, {
64
66
  sx: (theme)=>({
65
67
  borderColor: theme.palette.grey['500']
66
68
  })
67
69
  }),
68
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
70
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
69
71
  sx: (theme)=>({
70
72
  color: theme.palette.common.white
71
73
  }),
@@ -75,19 +77,19 @@ function SeriesLabelsStack(props) {
75
77
  const [name, value] = label.split('=');
76
78
  const formattedName = value !== undefined ? `${name}: ` : name;
77
79
  const formattedValue = value !== undefined ? value.replace(/(^"|"$)/g, '') : value;
78
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
80
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
79
81
  sx: {
80
82
  display: 'flex',
81
83
  gap: '4px'
82
84
  },
83
85
  children: [
84
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
86
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
85
87
  sx: {
86
88
  fontSize: '11px'
87
89
  },
88
90
  children: formattedName
89
91
  }),
90
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
92
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
91
93
  sx: (theme)=>({
92
94
  color: theme.palette.common.white,
93
95
  fontWeight: 700,
@@ -16,14 +16,16 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "SeriesMarker", {
18
18
  enumerable: true,
19
- get: ()=>SeriesMarker
19
+ get: function() {
20
+ return SeriesMarker;
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
25
  const _utils = require("../utils");
24
26
  function SeriesMarker(props) {
25
27
  const { markerColor , sx } = props;
26
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
28
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
27
29
  sx: (0, _utils.combineSx)({
28
30
  display: 'inline-block',
29
31
  width: '11px',