@perses-dev/components 0.0.0-snapshot-saving-defaults-refinements-1b25cec → 0.0.0-snapshot-time-chart-rewrite-4667058

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 (307) hide show
  1. package/dist/ContentWithLegend/ContentWithLegend.d.ts +1 -1
  2. package/dist/ContentWithLegend/ContentWithLegend.d.ts.map +1 -1
  3. package/dist/ContentWithLegend/ContentWithLegend.js +5 -3
  4. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  5. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts +10 -4
  6. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts.map +1 -1
  7. package/dist/ContentWithLegend/model/content-with-legend-model.js +27 -8
  8. package/dist/ContentWithLegend/model/content-with-legend-model.js.map +1 -1
  9. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -1
  10. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  11. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
  12. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts +2 -5
  13. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts.map +1 -1
  14. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +1 -1
  15. package/dist/Drawer/Drawer.js +1 -1
  16. package/dist/Drawer/Drawer.js.map +1 -1
  17. package/dist/EChart/EChart.d.ts +2 -1
  18. package/dist/EChart/EChart.d.ts.map +1 -1
  19. package/dist/EChart/EChart.js +15 -3
  20. package/dist/EChart/EChart.js.map +1 -1
  21. package/dist/GaugeChart/GaugeChart.d.ts +2 -2
  22. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -1
  23. package/dist/GaugeChart/GaugeChart.js +7 -5
  24. package/dist/GaugeChart/GaugeChart.js.map +1 -1
  25. package/dist/Legend/CompactLegend.d.ts +4 -2
  26. package/dist/Legend/CompactLegend.d.ts.map +1 -1
  27. package/dist/Legend/CompactLegend.js +6 -3
  28. package/dist/Legend/CompactLegend.js.map +1 -1
  29. package/dist/Legend/Legend.d.ts +17 -3
  30. package/dist/Legend/Legend.d.ts.map +1 -1
  31. package/dist/Legend/Legend.js +7 -4
  32. package/dist/Legend/Legend.js.map +1 -1
  33. package/dist/Legend/ListLegend.d.ts +4 -2
  34. package/dist/Legend/ListLegend.d.ts.map +1 -1
  35. package/dist/Legend/ListLegend.js +6 -5
  36. package/dist/Legend/ListLegend.js.map +1 -1
  37. package/dist/Legend/ListLegendItem.d.ts +16 -3
  38. package/dist/Legend/ListLegendItem.d.ts.map +1 -1
  39. package/dist/Legend/ListLegendItem.js +17 -5
  40. package/dist/Legend/ListLegendItem.js.map +1 -1
  41. package/dist/Legend/TableLegend.d.ts +6 -3
  42. package/dist/Legend/TableLegend.d.ts.map +1 -1
  43. package/dist/Legend/TableLegend.js +17 -3
  44. package/dist/Legend/TableLegend.js.map +1 -1
  45. package/dist/Legend/index.d.ts +1 -0
  46. package/dist/Legend/index.d.ts.map +1 -1
  47. package/dist/Legend/index.js +1 -0
  48. package/dist/Legend/index.js.map +1 -1
  49. package/dist/Legend/legend-model.d.ts +24 -0
  50. package/dist/Legend/legend-model.d.ts.map +1 -0
  51. package/dist/Legend/legend-model.js +19 -0
  52. package/dist/Legend/legend-model.js.map +1 -0
  53. package/dist/LineChart/LineChart.d.ts +6 -11
  54. package/dist/LineChart/LineChart.d.ts.map +1 -1
  55. package/dist/LineChart/LineChart.js +36 -9
  56. package/dist/LineChart/LineChart.js.map +1 -1
  57. package/dist/LineChart/index.d.ts +0 -1
  58. package/dist/LineChart/index.d.ts.map +1 -1
  59. package/dist/LineChart/index.js.map +1 -1
  60. package/dist/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  61. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  62. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts +12 -0
  63. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts.map +1 -0
  64. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js +45 -0
  65. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -0
  66. package/dist/RefreshIntervalPicker/index.d.ts +2 -0
  67. package/dist/RefreshIntervalPicker/index.d.ts.map +1 -0
  68. package/dist/{model/units → RefreshIntervalPicker}/index.js +1 -3
  69. package/dist/RefreshIntervalPicker/index.js.map +1 -0
  70. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts +36 -0
  71. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts.map +1 -0
  72. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +65 -0
  73. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -0
  74. package/dist/SettingsAutocomplete/index.d.ts +2 -0
  75. package/dist/SettingsAutocomplete/index.d.ts.map +1 -0
  76. package/dist/{model/units/constants.js → SettingsAutocomplete/index.js} +2 -4
  77. package/dist/SettingsAutocomplete/index.js.map +1 -0
  78. package/dist/StatChart/StatChart.d.ts +3 -2
  79. package/dist/StatChart/StatChart.d.ts.map +1 -1
  80. package/dist/StatChart/StatChart.js +75 -22
  81. package/dist/StatChart/StatChart.js.map +1 -1
  82. package/dist/StatChart/calculateFontSize.d.ts +14 -0
  83. package/dist/StatChart/calculateFontSize.d.ts.map +1 -0
  84. package/dist/StatChart/calculateFontSize.js +47 -0
  85. package/dist/StatChart/calculateFontSize.js.map +1 -0
  86. package/dist/Table/InnerTable.js +3 -3
  87. package/dist/Table/InnerTable.js.map +1 -1
  88. package/dist/Table/Table.d.ts +1 -1
  89. package/dist/Table/Table.d.ts.map +1 -1
  90. package/dist/Table/Table.js +58 -10
  91. package/dist/Table/Table.js.map +1 -1
  92. package/dist/Table/TableCell.d.ts +16 -3
  93. package/dist/Table/TableCell.d.ts.map +1 -1
  94. package/dist/Table/TableCell.js +13 -5
  95. package/dist/Table/TableCell.js.map +1 -1
  96. package/dist/Table/TableCheckbox.js +1 -1
  97. package/dist/Table/TableCheckbox.js.map +1 -1
  98. package/dist/Table/TableHeaderCell.d.ts +23 -0
  99. package/dist/Table/TableHeaderCell.d.ts.map +1 -0
  100. package/dist/Table/TableHeaderCell.js +53 -0
  101. package/dist/Table/TableHeaderCell.js.map +1 -0
  102. package/dist/Table/TableRow.d.ts.map +1 -1
  103. package/dist/Table/TableRow.js +3 -3
  104. package/dist/Table/TableRow.js.map +1 -1
  105. package/dist/Table/VirtualizedTable.d.ts +3 -3
  106. package/dist/Table/VirtualizedTable.d.ts.map +1 -1
  107. package/dist/Table/VirtualizedTable.js +51 -10
  108. package/dist/Table/VirtualizedTable.js.map +1 -1
  109. package/dist/Table/model/table-model.d.ts +81 -3
  110. package/dist/Table/model/table-model.d.ts.map +1 -1
  111. package/dist/Table/model/table-model.js +22 -7
  112. package/dist/Table/model/table-model.js.map +1 -1
  113. package/dist/TimeChart/TimeChart.d.ts +23 -0
  114. package/dist/TimeChart/TimeChart.d.ts.map +1 -0
  115. package/dist/TimeChart/TimeChart.js +314 -0
  116. package/dist/TimeChart/TimeChart.js.map +1 -0
  117. package/dist/TimeChart/index.d.ts +2 -0
  118. package/dist/TimeChart/index.d.ts.map +1 -0
  119. package/dist/{LegendOptionsEditor → TimeChart}/index.js +1 -1
  120. package/dist/TimeChart/index.js.map +1 -0
  121. package/dist/TimeSeriesTooltip/{TimeSeriesTooltip.d.ts → LineChartTooltip.d.ts} +5 -4
  122. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts.map +1 -0
  123. package/dist/TimeSeriesTooltip/{TimeSeriesTooltip.js → LineChartTooltip.js} +7 -6
  124. package/dist/TimeSeriesTooltip/LineChartTooltip.js.map +1 -0
  125. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts +16 -0
  126. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts.map +1 -0
  127. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +76 -0
  128. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -0
  129. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts +2 -2
  130. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts.map +1 -1
  131. package/dist/TimeSeriesTooltip/TooltipHeader.js +10 -8
  132. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  133. package/dist/TimeSeriesTooltip/index.d.ts +2 -1
  134. package/dist/TimeSeriesTooltip/index.d.ts.map +1 -1
  135. package/dist/TimeSeriesTooltip/index.js +2 -1
  136. package/dist/TimeSeriesTooltip/index.js.map +1 -1
  137. package/dist/TimeSeriesTooltip/nearby-series.d.ts +23 -4
  138. package/dist/TimeSeriesTooltip/nearby-series.d.ts.map +1 -1
  139. package/dist/TimeSeriesTooltip/nearby-series.js +175 -17
  140. package/dist/TimeSeriesTooltip/nearby-series.js.map +1 -1
  141. package/dist/TimeSeriesTooltip/tooltip-model.d.ts +4 -0
  142. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -1
  143. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  144. package/dist/TimeSeriesTooltip/utils.d.ts +25 -0
  145. package/dist/TimeSeriesTooltip/utils.d.ts.map +1 -1
  146. package/dist/TimeSeriesTooltip/utils.js +29 -1
  147. package/dist/TimeSeriesTooltip/utils.js.map +1 -1
  148. package/dist/UnitSelector/UnitSelector.d.ts +1 -1
  149. package/dist/UnitSelector/UnitSelector.d.ts.map +1 -1
  150. package/dist/UnitSelector/UnitSelector.js +11 -24
  151. package/dist/UnitSelector/UnitSelector.js.map +1 -1
  152. package/dist/YAxisLabel.js +1 -1
  153. package/dist/YAxisLabel.js.map +1 -1
  154. package/dist/cjs/ContentWithLegend/ContentWithLegend.js +5 -3
  155. package/dist/cjs/ContentWithLegend/model/content-with-legend-model.js +28 -9
  156. package/dist/cjs/Drawer/Drawer.js +1 -1
  157. package/dist/cjs/EChart/EChart.js +22 -5
  158. package/dist/cjs/GaugeChart/GaugeChart.js +7 -5
  159. package/dist/cjs/Legend/CompactLegend.js +7 -4
  160. package/dist/cjs/Legend/Legend.js +8 -5
  161. package/dist/cjs/Legend/ListLegend.js +7 -6
  162. package/dist/cjs/Legend/ListLegendItem.js +17 -5
  163. package/dist/cjs/Legend/TableLegend.js +17 -3
  164. package/dist/cjs/Legend/index.js +1 -0
  165. package/dist/cjs/{model/units/types.js → Legend/legend-model.js} +7 -10
  166. package/dist/cjs/LineChart/LineChart.js +35 -47
  167. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  168. package/dist/cjs/RefreshIntervalPicker/RefreshIntervalPicker.js +51 -0
  169. package/dist/cjs/{model/units → RefreshIntervalPicker}/index.js +1 -3
  170. package/dist/cjs/SettingsAutocomplete/SettingsAutocomplete.js +66 -0
  171. package/dist/cjs/SettingsAutocomplete/index.js +28 -0
  172. package/dist/cjs/StatChart/StatChart.js +82 -24
  173. package/dist/cjs/StatChart/calculateFontSize.js +51 -0
  174. package/dist/cjs/Table/InnerTable.js +3 -3
  175. package/dist/cjs/Table/Table.js +57 -9
  176. package/dist/cjs/Table/TableCell.js +13 -5
  177. package/dist/cjs/Table/TableCheckbox.js +1 -1
  178. package/dist/cjs/Table/TableHeaderCell.js +59 -0
  179. package/dist/cjs/Table/TableRow.js +2 -2
  180. package/dist/cjs/Table/VirtualizedTable.js +51 -10
  181. package/dist/cjs/Table/model/table-model.js +22 -7
  182. package/dist/cjs/TimeChart/TimeChart.js +320 -0
  183. package/dist/cjs/{LegendOptionsEditor → TimeChart}/index.js +1 -1
  184. package/dist/cjs/TimeSeriesTooltip/{TimeSeriesTooltip.js → LineChartTooltip.js} +7 -45
  185. package/dist/cjs/TimeSeriesTooltip/TimeChartTooltip.js +87 -0
  186. package/dist/cjs/TimeSeriesTooltip/TooltipHeader.js +10 -8
  187. package/dist/cjs/TimeSeriesTooltip/index.js +2 -1
  188. package/dist/cjs/TimeSeriesTooltip/nearby-series.js +171 -17
  189. package/dist/cjs/TimeSeriesTooltip/utils.js +35 -3
  190. package/dist/cjs/UnitSelector/UnitSelector.js +15 -28
  191. package/dist/cjs/YAxisLabel.js +1 -1
  192. package/dist/cjs/index.js +3 -1
  193. package/dist/cjs/model/index.js +1 -2
  194. package/dist/cjs/model/timeOption.js +16 -0
  195. package/dist/cjs/{model/units/constants.js → theme/component-overrides/paper.js} +9 -5
  196. package/dist/cjs/theme/palette/background.js +2 -2
  197. package/dist/cjs/theme/theme.js +2 -0
  198. package/dist/cjs/utils/axis.js +58 -0
  199. package/dist/cjs/{LineChart/utils.js → utils/chart-actions.js} +9 -47
  200. package/dist/cjs/utils/format.js +47 -1
  201. package/dist/cjs/utils/index.js +3 -1
  202. package/dist/cjs/utils/theme-gen.js +44 -2
  203. package/dist/index.d.ts +3 -1
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +3 -1
  206. package/dist/index.js.map +1 -1
  207. package/dist/model/graph.d.ts +20 -3
  208. package/dist/model/graph.d.ts.map +1 -1
  209. package/dist/model/graph.js.map +1 -1
  210. package/dist/model/index.d.ts +1 -2
  211. package/dist/model/index.d.ts.map +1 -1
  212. package/dist/model/index.js +1 -2
  213. package/dist/model/index.js.map +1 -1
  214. package/dist/model/theme.d.ts +4 -6
  215. package/dist/model/theme.d.ts.map +1 -1
  216. package/dist/model/theme.js.map +1 -1
  217. package/dist/model/timeOption.d.ts +6 -0
  218. package/dist/model/timeOption.d.ts.map +1 -0
  219. package/dist/model/{units/types.js → timeOption.js} +2 -9
  220. package/dist/model/timeOption.js.map +1 -0
  221. package/dist/theme/component-overrides/paper.d.ts +3 -0
  222. package/dist/theme/component-overrides/paper.d.ts.map +1 -0
  223. package/dist/theme/component-overrides/paper.js +21 -0
  224. package/dist/theme/component-overrides/paper.js.map +1 -0
  225. package/dist/theme/palette/background.js +2 -2
  226. package/dist/theme/palette/background.js.map +1 -1
  227. package/dist/theme/theme.d.ts.map +1 -1
  228. package/dist/theme/theme.js +2 -0
  229. package/dist/theme/theme.js.map +1 -1
  230. package/dist/utils/axis.d.ts +14 -0
  231. package/dist/utils/axis.d.ts.map +1 -0
  232. package/dist/utils/axis.js +45 -0
  233. package/dist/utils/axis.js.map +1 -0
  234. package/dist/utils/chart-actions.d.ts +18 -0
  235. package/dist/utils/chart-actions.d.ts.map +1 -0
  236. package/dist/utils/chart-actions.js +52 -0
  237. package/dist/utils/chart-actions.js.map +1 -0
  238. package/dist/utils/format.d.ts +6 -0
  239. package/dist/utils/format.d.ts.map +1 -1
  240. package/dist/utils/format.js +47 -0
  241. package/dist/utils/format.js.map +1 -1
  242. package/dist/utils/index.d.ts +3 -1
  243. package/dist/utils/index.d.ts.map +1 -1
  244. package/dist/utils/index.js +3 -1
  245. package/dist/utils/index.js.map +1 -1
  246. package/dist/utils/theme-gen.d.ts.map +1 -1
  247. package/dist/utils/theme-gen.js +38 -1
  248. package/dist/utils/theme-gen.js.map +1 -1
  249. package/package.json +5 -9
  250. package/dist/LegendOptionsEditor/LegendOptionsEditor.d.ts +0 -8
  251. package/dist/LegendOptionsEditor/LegendOptionsEditor.d.ts.map +0 -1
  252. package/dist/LegendOptionsEditor/LegendOptionsEditor.js +0 -109
  253. package/dist/LegendOptionsEditor/LegendOptionsEditor.js.map +0 -1
  254. package/dist/LegendOptionsEditor/index.d.ts +0 -2
  255. package/dist/LegendOptionsEditor/index.d.ts.map +0 -1
  256. package/dist/LegendOptionsEditor/index.js.map +0 -1
  257. package/dist/LineChart/utils.d.ts +0 -30
  258. package/dist/LineChart/utils.d.ts.map +0 -1
  259. package/dist/LineChart/utils.js +0 -90
  260. package/dist/LineChart/utils.js.map +0 -1
  261. package/dist/TimeSeriesTooltip/TimeSeriesTooltip.d.ts.map +0 -1
  262. package/dist/TimeSeriesTooltip/TimeSeriesTooltip.js.map +0 -1
  263. package/dist/cjs/LegendOptionsEditor/LegendOptionsEditor.js +0 -115
  264. package/dist/cjs/model/legend.js +0 -102
  265. package/dist/cjs/model/units/bytes.js +0 -84
  266. package/dist/cjs/model/units/decimal.js +0 -62
  267. package/dist/cjs/model/units/percent.js +0 -73
  268. package/dist/cjs/model/units/time.js +0 -105
  269. package/dist/cjs/model/units/units.js +0 -101
  270. package/dist/cjs/model/units/utils.js +0 -42
  271. package/dist/model/legend.d.ts +0 -36
  272. package/dist/model/legend.d.ts.map +0 -1
  273. package/dist/model/legend.js +0 -81
  274. package/dist/model/legend.js.map +0 -1
  275. package/dist/model/units/bytes.d.ts +0 -13
  276. package/dist/model/units/bytes.d.ts.map +0 -1
  277. package/dist/model/units/bytes.js +0 -66
  278. package/dist/model/units/bytes.js.map +0 -1
  279. package/dist/model/units/constants.d.ts +0 -2
  280. package/dist/model/units/constants.d.ts.map +0 -1
  281. package/dist/model/units/constants.js.map +0 -1
  282. package/dist/model/units/decimal.d.ts +0 -13
  283. package/dist/model/units/decimal.d.ts.map +0 -1
  284. package/dist/model/units/decimal.js +0 -49
  285. package/dist/model/units/decimal.js.map +0 -1
  286. package/dist/model/units/index.d.ts +0 -4
  287. package/dist/model/units/index.d.ts.map +0 -1
  288. package/dist/model/units/index.js.map +0 -1
  289. package/dist/model/units/percent.d.ts +0 -12
  290. package/dist/model/units/percent.d.ts.map +0 -1
  291. package/dist/model/units/percent.js +0 -60
  292. package/dist/model/units/percent.js.map +0 -1
  293. package/dist/model/units/time.d.ts +0 -22
  294. package/dist/model/units/time.d.ts.map +0 -1
  295. package/dist/model/units/time.js +0 -91
  296. package/dist/model/units/time.js.map +0 -1
  297. package/dist/model/units/types.d.ts +0 -47
  298. package/dist/model/units/types.d.ts.map +0 -1
  299. package/dist/model/units/types.js.map +0 -1
  300. package/dist/model/units/units.d.ts +0 -40
  301. package/dist/model/units/units.d.ts.map +0 -1
  302. package/dist/model/units/units.js +0 -80
  303. package/dist/model/units/units.js.map +0 -1
  304. package/dist/model/units/utils.d.ts +0 -4
  305. package/dist/model/units/utils.d.ts.map +0 -1
  306. package/dist/model/units/utils.js +0 -32
  307. package/dist/model/units/utils.js.map +0 -1
@@ -14,13 +14,13 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "TimeSeriesTooltip", {
17
+ Object.defineProperty(exports, "LineChartTooltip", {
18
18
  enumerable: true,
19
- get: ()=>TimeSeriesTooltip
19
+ get: ()=>LineChartTooltip
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _material = require("@mui/material");
23
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
23
+ const _react = require("react");
24
24
  const _useResizeObserver = /*#__PURE__*/ _interopRequireDefault(require("use-resize-observer"));
25
25
  const _tooltipContent = require("./TooltipContent");
26
26
  const _tooltipHeader = require("./TooltipHeader");
@@ -32,46 +32,7 @@ function _interopRequireDefault(obj) {
32
32
  default: obj
33
33
  };
34
34
  }
35
- function _getRequireWildcardCache(nodeInterop) {
36
- if (typeof WeakMap !== "function") return null;
37
- var cacheBabelInterop = new WeakMap();
38
- var cacheNodeInterop = new WeakMap();
39
- return (_getRequireWildcardCache = function(nodeInterop) {
40
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
41
- })(nodeInterop);
42
- }
43
- function _interopRequireWildcard(obj, nodeInterop) {
44
- if (!nodeInterop && obj && obj.__esModule) {
45
- return obj;
46
- }
47
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
48
- return {
49
- default: obj
50
- };
51
- }
52
- var cache = _getRequireWildcardCache(nodeInterop);
53
- if (cache && cache.has(obj)) {
54
- return cache.get(obj);
55
- }
56
- var newObj = {};
57
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
58
- for(var key in obj){
59
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
60
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
61
- if (desc && (desc.get || desc.set)) {
62
- Object.defineProperty(newObj, key, desc);
63
- } else {
64
- newObj[key] = obj[key];
65
- }
66
- }
67
- }
68
- newObj.default = obj;
69
- if (cache) {
70
- cache.set(obj, newObj);
71
- }
72
- return newObj;
73
- }
74
- const TimeSeriesTooltip = /*#__PURE__*/ _react.default.memo(function TimeSeriesTooltip({ chartRef , chartData , wrapLabels , unit , onUnpinClick , pinnedPos }) {
35
+ const LineChartTooltip = /*#__PURE__*/ (0, _react.memo)(function LineChartTooltip({ chartRef , chartData , wrapLabels , unit , onUnpinClick , pinnedPos }) {
75
36
  const [showAllSeries, setShowAllSeries] = (0, _react.useState)(false);
76
37
  const mousePos = (0, _tooltipModel.useMousePosition)();
77
38
  const { height , width , ref: tooltipRef } = (0, _useResizeObserver.default)();
@@ -84,7 +45,7 @@ const TimeSeriesTooltip = /*#__PURE__*/ _react.default.memo(function TimeSeriesT
84
45
  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.
85
46
  const cursorTransform = (0, _utils.assembleTransform)(mousePos, chartWidth, pinnedPos, height !== null && height !== void 0 ? height : 0, width !== null && width !== void 0 ? width : 0);
86
47
  // Get series nearby the cursor and pass into tooltip content children.
87
- const nearbySeries = (0, _nearbySeries.getNearbySeriesData)({
48
+ const nearbySeries = (0, _nearbySeries.legacyGetNearbySeriesData)({
88
49
  mousePos,
89
50
  chartData,
90
51
  pinnedPos,
@@ -117,7 +78,8 @@ const TimeSeriesTooltip = /*#__PURE__*/ _react.default.memo(function TimeSeriesT
117
78
  visibility: 'visible',
118
79
  opacity: 1,
119
80
  transition: 'all 0.1s ease-out',
120
- zIndex: theme.zIndex.tooltip,
81
+ // Ensure pinned tooltip shows behind edit panel drawer and sticky header
82
+ zIndex: pinnedPos !== null ? 'auto' : theme.zIndex.tooltip,
121
83
  overflow: 'hidden',
122
84
  '&:hover': {
123
85
  overflowY: 'auto'
@@ -0,0 +1,87 @@
1
+ // Copyright 2023 The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "TimeChartTooltip", {
18
+ enumerable: true,
19
+ get: ()=>TimeChartTooltip
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _react = require("react");
23
+ const _material = require("@mui/material");
24
+ const _useResizeObserver = /*#__PURE__*/ _interopRequireDefault(require("use-resize-observer"));
25
+ const _tooltipModel = require("./tooltip-model");
26
+ const _utils = require("./utils");
27
+ const _nearbySeries = require("./nearby-series");
28
+ const _tooltipHeader = require("./TooltipHeader");
29
+ const _tooltipContent = require("./TooltipContent");
30
+ function _interopRequireDefault(obj) {
31
+ return obj && obj.__esModule ? obj : {
32
+ default: obj
33
+ };
34
+ }
35
+ const TimeChartTooltip = /*#__PURE__*/ (0, _react.memo)(function TimeChartTooltip({ chartRef , data , seriesMapping , wrapLabels , unit , onUnpinClick , pinnedPos }) {
36
+ const [showAllSeries, setShowAllSeries] = (0, _react.useState)(false);
37
+ const mousePos = (0, _tooltipModel.useMousePosition)();
38
+ const { height , width , ref: tooltipRef } = (0, _useResizeObserver.default)();
39
+ const isTooltipPinned = pinnedPos !== null;
40
+ if (mousePos === null || mousePos.target === null || data === null) return null;
41
+ // Ensure user is hovering over a chart before checking for nearby series.
42
+ if (pinnedPos === null && mousePos.target.tagName !== 'CANVAS') return null;
43
+ const chart = chartRef.current;
44
+ var ref;
45
+ 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.
46
+ const cursorTransform = (0, _utils.assembleTransform)(mousePos, chartWidth, pinnedPos, height !== null && height !== void 0 ? height : 0, width !== null && width !== void 0 ? width : 0);
47
+ // Get series nearby the cursor and pass into tooltip content children.
48
+ const nearbySeries = (0, _nearbySeries.getNearbySeriesData)({
49
+ mousePos,
50
+ data,
51
+ seriesMapping,
52
+ pinnedPos,
53
+ chart,
54
+ unit,
55
+ showAllSeries
56
+ });
57
+ if (nearbySeries.length === 0) {
58
+ return null;
59
+ }
60
+ const totalSeries = data.length;
61
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Portal, {
62
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
63
+ ref: tooltipRef,
64
+ sx: (theme)=>(0, _utils.getTooltipStyles)(theme, pinnedPos),
65
+ style: {
66
+ transform: cursorTransform
67
+ },
68
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
69
+ spacing: 0.5,
70
+ children: [
71
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipHeader.TooltipHeader, {
72
+ nearbySeries: nearbySeries,
73
+ totalSeries: totalSeries,
74
+ isTooltipPinned: isTooltipPinned,
75
+ showAllSeries: showAllSeries,
76
+ onShowAllClick: (checked)=>setShowAllSeries(checked),
77
+ onUnpinClick: onUnpinClick
78
+ }),
79
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipContent.TooltipContent, {
80
+ series: nearbySeries,
81
+ wrapLabels: wrapLabels
82
+ })
83
+ ]
84
+ })
85
+ })
86
+ });
87
+ });
@@ -22,17 +22,16 @@ const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _material = require("@mui/material");
23
23
  const _pin = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Pin"));
24
24
  const _pinOutline = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/PinOutline"));
25
- const _react = /*#__PURE__*/ _interopRequireDefault(require("react"));
26
- const _timeZoneProvider = require("../context/TimeZoneProvider");
25
+ const _react = require("react");
26
+ const _dateFns = require("date-fns");
27
27
  const _tooltipModel = require("./tooltip-model");
28
28
  function _interopRequireDefault(obj) {
29
29
  return obj && obj.__esModule ? obj : {
30
30
  default: obj
31
31
  };
32
32
  }
33
- const TooltipHeader = /*#__PURE__*/ _react.default.memo(function TooltipHeader({ nearbySeries , totalSeries , isTooltipPinned , showAllSeries , onShowAllClick , onUnpinClick }) {
33
+ const TooltipHeader = /*#__PURE__*/ (0, _react.memo)(function TooltipHeader({ nearbySeries , totalSeries , isTooltipPinned , showAllSeries , onShowAllClick , onUnpinClick }) {
34
34
  var ref;
35
- const { formatWithUserTimeZone } = (0, _timeZoneProvider.useTimeZone)();
36
35
  var ref1;
37
36
  const seriesTimeMs = (ref1 = (ref = nearbySeries[0]) === null || ref === void 0 ? void 0 : ref.date) !== null && ref1 !== void 0 ? ref1 : null;
38
37
  if (seriesTimeMs === null) {
@@ -40,8 +39,8 @@ const TooltipHeader = /*#__PURE__*/ _react.default.memo(function TooltipHeader({
40
39
  }
41
40
  const formatTimeSeriesHeader = (timeMs)=>{
42
41
  const date = new Date(timeMs);
43
- const formattedDate = formatWithUserTimeZone(date, 'MMM dd, yyyy - ');
44
- const formattedTime = formatWithUserTimeZone(date, 'HH:mm:ss');
42
+ const formattedDate = (0, _dateFns.format)(date, 'MMM dd, yyyy - ');
43
+ const formattedTime = (0, _dateFns.format)(date, 'HH:mm:ss');
45
44
  return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
46
45
  children: [
47
46
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
@@ -96,7 +95,7 @@ const TooltipHeader = /*#__PURE__*/ _react.default.memo(function TooltipHeader({
96
95
  children: [
97
96
  showAllSeriesToggle && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
98
97
  direction: "row",
99
- gap: 1,
98
+ gap: 0.5,
100
99
  alignItems: "center",
101
100
  sx: {
102
101
  textAlign: 'right'
@@ -106,7 +105,7 @@ const TooltipHeader = /*#__PURE__*/ _react.default.memo(function TooltipHeader({
106
105
  sx: {
107
106
  fontSize: 11
108
107
  },
109
- children: "Show All?"
108
+ children: "Show All"
110
109
  }),
111
110
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Switch, {
112
111
  checked: showAllSeries,
@@ -119,6 +118,9 @@ const TooltipHeader = /*#__PURE__*/ _react.default.memo(function TooltipHeader({
119
118
  sx: (theme)=>({
120
119
  '& .MuiSwitch-switchBase': {
121
120
  color: theme.palette.common.white
121
+ },
122
+ '& .MuiSwitch-track': {
123
+ backgroundColor: theme.palette.common.white
122
124
  }
123
125
  })
124
126
  })
@@ -14,10 +14,11 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./TimeSeriesTooltip"), exports);
17
+ _exportStar(require("./LineChartTooltip"), exports);
18
18
  _exportStar(require("./SeriesInfo"), exports);
19
19
  _exportStar(require("./SeriesLabelsStack"), exports);
20
20
  _exportStar(require("./SeriesMarker"), exports);
21
+ _exportStar(require("./TimeChartTooltip"), exports);
21
22
  _exportStar(require("./TooltipContent"), exports);
22
23
  _exportStar(require("./TooltipHeader"), exports);
23
24
  _exportStar(require("./nearby-series"), exports);
@@ -24,16 +24,134 @@ _export(exports, {
24
24
  INCREASE_NEARBY_SERIES_MULTIPLIER: ()=>INCREASE_NEARBY_SERIES_MULTIPLIER,
25
25
  DYNAMIC_NEARBY_SERIES_MULTIPLIER: ()=>DYNAMIC_NEARBY_SERIES_MULTIPLIER,
26
26
  SHOW_FEWER_SERIES_LIMIT: ()=>SHOW_FEWER_SERIES_LIMIT,
27
- checkforNearbySeries: ()=>checkforNearbySeries,
27
+ checkforNearbyTimeSeries: ()=>checkforNearbyTimeSeries,
28
+ legacyCheckforNearbySeries: ()=>legacyCheckforNearbySeries,
28
29
  getNearbySeriesData: ()=>getNearbySeriesData,
30
+ legacyGetNearbySeriesData: ()=>legacyGetNearbySeriesData,
29
31
  isWithinPercentageRange: ()=>isWithinPercentageRange,
30
32
  getYBuffer: ()=>getYBuffer
31
33
  });
34
+ const _core = require("@perses-dev/core");
32
35
  const _model = require("../model");
33
36
  const INCREASE_NEARBY_SERIES_MULTIPLIER = 5.5; // adjusts how many series show in tooltip (higher == more series shown)
34
37
  const DYNAMIC_NEARBY_SERIES_MULTIPLIER = 30; // used for adjustment after series number divisor
35
38
  const SHOW_FEWER_SERIES_LIMIT = 5;
36
- function checkforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
39
+ function checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, unit) {
40
+ const currentNearbySeriesData = [];
41
+ var ref;
42
+ const cursorX = (ref = pointInGrid[0]) !== null && ref !== void 0 ? ref : null;
43
+ var ref1;
44
+ const cursorY = (ref1 = pointInGrid[1]) !== null && ref1 !== void 0 ? ref1 : null;
45
+ if (cursorX === null || cursorY === null) return currentNearbySeriesData;
46
+ if (!Array.isArray(data)) return currentNearbySeriesData;
47
+ // TODO: better way to calc xBuffer for longer time ranges
48
+ // const xBuffer = cursorX * 0.0000005;
49
+ const nearbySeriesIndexes = [];
50
+ const emphasizedSeriesIndexes = [];
51
+ const nonEmphasizedSeriesIndexes = [];
52
+ const totalSeries = data.length;
53
+ let closestTimestamp = null;
54
+ let closestDistance = Infinity;
55
+ // find the timestamp with data that is closest to cursorX
56
+ for(let seriesIdx = 0; seriesIdx < totalSeries; seriesIdx++){
57
+ const currentSeries = seriesMapping[seriesIdx];
58
+ if (currentSeries === undefined) break;
59
+ const currentDataset = totalSeries > 0 ? data[seriesIdx] : null;
60
+ if (currentDataset == null) break;
61
+ const currentDatasetValues = currentDataset.values;
62
+ for (const [timestamp] of currentDatasetValues){
63
+ const distance = Math.abs(timestamp - cursorX);
64
+ if (distance < closestDistance) {
65
+ closestTimestamp = timestamp;
66
+ closestDistance = distance;
67
+ }
68
+ }
69
+ if (currentDatasetValues === undefined || !Array.isArray(currentDatasetValues)) break;
70
+ const lineSeries = currentSeries;
71
+ const currentSeriesName = lineSeries.name ? lineSeries.name.toString() : '';
72
+ var _color;
73
+ const markerColor = (_color = lineSeries.color) !== null && _color !== void 0 ? _color : '#000';
74
+ if (Array.isArray(data)) {
75
+ for(let datumIdx = 0; datumIdx < currentDatasetValues.length; datumIdx++){
76
+ const nearbyTimeSeries = currentDatasetValues[datumIdx];
77
+ if (nearbyTimeSeries === undefined || !Array.isArray(nearbyTimeSeries)) break;
78
+ const xValue = nearbyTimeSeries[0];
79
+ const yValue = nearbyTimeSeries[1];
80
+ // TODO: ensure null values not displayed in tooltip
81
+ if (yValue !== undefined && yValue !== null) {
82
+ // if (cursorX < xValue + xBuffer && cursorX > xValue - xBuffer) {
83
+ if (closestTimestamp === xValue) {
84
+ if (cursorY <= yValue + yBuffer && cursorY >= yValue - yBuffer) {
85
+ // show fewer bold series in tooltip when many total series
86
+ const minPercentRange = totalSeries > SHOW_FEWER_SERIES_LIMIT ? 2 : 5;
87
+ const percentRangeToCheck = Math.max(minPercentRange, 100 / totalSeries);
88
+ const isClosestToCursor = isWithinPercentageRange({
89
+ valueToCheck: cursorY,
90
+ baseValue: yValue,
91
+ percentage: percentRangeToCheck
92
+ });
93
+ if (isClosestToCursor) {
94
+ emphasizedSeriesIndexes.push(seriesIdx);
95
+ } else {
96
+ nonEmphasizedSeriesIndexes.push(seriesIdx);
97
+ // ensure series not close to cursor are not highlighted
98
+ if ((chart === null || chart === void 0 ? void 0 : chart.dispatchAction) !== undefined) {
99
+ chart.dispatchAction({
100
+ type: 'downplay',
101
+ seriesIndex: seriesIdx
102
+ });
103
+ }
104
+ }
105
+ // determine whether to convert timestamp to ms, see: https://stackoverflow.com/a/23982005/17575201
106
+ // const xValueMilliSeconds = xValue > 99999999999 ? xValue : xValue * 1000;
107
+ const formattedY = (0, _core.formatValue)(yValue, unit);
108
+ currentNearbySeriesData.push({
109
+ seriesIdx: seriesIdx,
110
+ datumIdx: datumIdx,
111
+ seriesName: currentSeriesName,
112
+ date: closestTimestamp,
113
+ x: xValue,
114
+ y: yValue,
115
+ formattedY: formattedY,
116
+ markerColor: markerColor.toString(),
117
+ isClosestToCursor
118
+ });
119
+ nearbySeriesIndexes.push(seriesIdx);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
126
+ if ((chart === null || chart === void 0 ? void 0 : chart.dispatchAction) !== undefined) {
127
+ // Clears emphasis state of all lines that are not emphasized.
128
+ // Emphasized is a subset of just the nearby series that are closest to cursor.
129
+ chart.dispatchAction({
130
+ type: 'downplay',
131
+ seriesIndex: nonEmphasizedSeriesIndexes
132
+ });
133
+ // https://echarts.apache.org/en/api.html#action.highlight
134
+ if (emphasizedSeriesIndexes.length > 0) {
135
+ // Fadeout opacity of all series not closest to cursor.
136
+ chart.dispatchAction({
137
+ type: 'highlight',
138
+ seriesIndex: emphasizedSeriesIndexes,
139
+ notBlur: false,
140
+ escapeConnect: true
141
+ });
142
+ } else {
143
+ // When no emphasized series with bold text, notBlur allows opacity fadeout to not trigger.
144
+ chart.dispatchAction({
145
+ type: 'highlight',
146
+ seriesIndex: nearbySeriesIndexes,
147
+ notBlur: true,
148
+ escapeConnect: true
149
+ });
150
+ }
151
+ }
152
+ return currentNearbySeriesData;
153
+ }
154
+ function legacyCheckforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
37
155
  const currentNearbySeriesData = [];
38
156
  var ref;
39
157
  const cursorX = (ref = pointInGrid[0]) !== null && ref !== void 0 ? ref : null;
@@ -84,7 +202,7 @@ function checkforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
84
202
  }
85
203
  // determine whether to convert timestamp to ms, see: https://stackoverflow.com/a/23982005/17575201
86
204
  const xValueMilliSeconds = xValue > 99999999999 ? xValue : xValue * 1000;
87
- const formattedY = (0, _model.formatValue)(yValue, unit);
205
+ const formattedY = (0, _core.formatValue)(yValue, unit);
88
206
  currentNearbySeriesData.push({
89
207
  seriesIdx: seriesIdx,
90
208
  datumIdx: datumIdx,
@@ -117,20 +235,22 @@ function checkforNearbySeries(data, pointInGrid, yBuffer, chart, unit) {
117
235
  chart.dispatchAction({
118
236
  type: 'highlight',
119
237
  seriesIndex: emphasizedSeriesIndexes,
120
- notBlur: false
238
+ notBlur: false,
239
+ escapeConnect: true
121
240
  });
122
241
  } else {
123
242
  // When no emphasized series with bold text, notBlur allows opacity fadeout to not trigger.
124
243
  chart.dispatchAction({
125
244
  type: 'highlight',
126
245
  seriesIndex: nearbySeriesIndexes,
127
- notBlur: true
246
+ notBlur: true,
247
+ escapeConnect: true
128
248
  });
129
249
  }
130
250
  }
131
251
  return currentNearbySeriesData;
132
252
  }
133
- function getNearbySeriesData({ mousePos , pinnedPos , chartData , chart , unit , showAllSeries =false }) {
253
+ function getNearbySeriesData({ mousePos , pinnedPos , data , seriesMapping , chart , unit , showAllSeries =false }) {
134
254
  if (chart === undefined || mousePos === null) return [];
135
255
  // prevents multiple tooltips showing from adjacent charts unless tooltip is pinned
136
256
  let cursorTargetMatchesChart = false;
@@ -152,10 +272,10 @@ function getNearbySeriesData({ mousePos , pinnedPos , chartData , chart , unit ,
152
272
  cursorTargetMatchesChart = true;
153
273
  }
154
274
  if (cursorTargetMatchesChart === false) return [];
155
- if (chart['_model'] === undefined) return [];
275
+ if (chart['_model'] === undefined || data === null) return [];
156
276
  const chartModel = chart['_model'];
157
277
  const yInterval = chartModel.getComponent('yAxis').axis.scale._interval;
158
- const totalSeries = chartData.timeSeries.length;
278
+ const totalSeries = data.length;
159
279
  const yBuffer = getYBuffer({
160
280
  yInterval,
161
281
  totalSeries,
@@ -169,17 +289,51 @@ function getNearbySeriesData({ mousePos , pinnedPos , chartData , chart , unit ,
169
289
  if (chart.containPixel('grid', pointInPixel)) {
170
290
  const pointInGrid = chart.convertFromPixel('grid', pointInPixel);
171
291
  if (pointInGrid[0] !== undefined && pointInGrid[1] !== undefined) {
172
- return checkforNearbySeries(chartData, pointInGrid, yBuffer, chart, unit);
292
+ return checkforNearbyTimeSeries(data, seriesMapping, pointInGrid, yBuffer, chart, unit);
173
293
  }
174
294
  }
175
- // clear all highlighted series when cursor exits canvas
176
- // https://echarts.apache.org/en/api.html#action.downplay
177
- for(let i = 0; i < totalSeries; i++){
178
- if ((chart === null || chart === void 0 ? void 0 : chart.dispatchAction) !== undefined) {
179
- chart.dispatchAction({
180
- type: 'downplay',
181
- seriesIndex: i
182
- });
295
+ return [];
296
+ }
297
+ function legacyGetNearbySeriesData({ mousePos , pinnedPos , chartData , chart , unit , showAllSeries =false }) {
298
+ if (chart === undefined || mousePos === null) return [];
299
+ // prevents multiple tooltips showing from adjacent charts unless tooltip is pinned
300
+ let cursorTargetMatchesChart = false;
301
+ if (mousePos.target !== null) {
302
+ const currentParent = mousePos.target.parentElement;
303
+ if (currentParent !== null) {
304
+ const currentGrandparent = currentParent.parentElement;
305
+ if (currentGrandparent !== null) {
306
+ const chartDom = chart.getDom();
307
+ if (chartDom === currentGrandparent) {
308
+ cursorTargetMatchesChart = true;
309
+ }
310
+ }
311
+ }
312
+ }
313
+ // allows moving cursor inside tooltip without it fading away
314
+ if (pinnedPos !== null) {
315
+ mousePos = pinnedPos;
316
+ cursorTargetMatchesChart = true;
317
+ }
318
+ if (cursorTargetMatchesChart === false) return [];
319
+ if (chart['_model'] === undefined) return [];
320
+ const chartModel = chart['_model'];
321
+ const yInterval = chartModel.getComponent('yAxis').axis.scale._interval;
322
+ const totalSeries = chartData.timeSeries.length;
323
+ const yBuffer = getYBuffer({
324
+ yInterval,
325
+ totalSeries,
326
+ showAllSeries
327
+ });
328
+ var _x, _y;
329
+ const pointInPixel = [
330
+ (_x = mousePos.plotCanvas.x) !== null && _x !== void 0 ? _x : 0,
331
+ (_y = mousePos.plotCanvas.y) !== null && _y !== void 0 ? _y : 0
332
+ ];
333
+ if (chart.containPixel('grid', pointInPixel)) {
334
+ const pointInGrid = chart.convertFromPixel('grid', pointInPixel);
335
+ if (pointInGrid[0] !== undefined && pointInGrid[1] !== undefined) {
336
+ return legacyCheckforNearbySeries(chartData, pointInGrid, yBuffer, chart, unit);
183
337
  }
184
338
  }
185
339
  return [];
@@ -14,9 +14,15 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "assembleTransform", {
18
- enumerable: true,
19
- get: ()=>assembleTransform
17
+ function _export(target, all) {
18
+ for(var name in all)Object.defineProperty(target, name, {
19
+ enumerable: true,
20
+ get: all[name]
21
+ });
22
+ }
23
+ _export(exports, {
24
+ assembleTransform: ()=>assembleTransform,
25
+ getTooltipStyles: ()=>getTooltipStyles
20
26
  });
21
27
  const _tooltipModel = require("./tooltip-model");
22
28
  function assembleTransform(mousePos, chartWidth, pinnedPos, tooltipHeight, tooltipWidth) {
@@ -43,3 +49,29 @@ function assembleTransform(mousePos, chartWidth, pinnedPos, tooltipHeight, toolt
43
49
  // reposition so tooltip is never too close to right side of chart or left side of browser window
44
50
  return mousePos.plotCanvas.x > xPosAdjustThreshold && x > _tooltipModel.TOOLTIP_MAX_WIDTH ? `translate3d(${x - cursorPaddingX}px, ${y}px, 0) translateX(-100%)` : `translate3d(${x + cursorPaddingX}px, ${y}px, 0)`;
45
51
  }
52
+ function getTooltipStyles(theme, pinnedPos) {
53
+ var ref;
54
+ var ref1;
55
+ return {
56
+ minWidth: _tooltipModel.TOOLTIP_MIN_WIDTH,
57
+ maxWidth: _tooltipModel.TOOLTIP_MAX_WIDTH,
58
+ maxHeight: _tooltipModel.TOOLTIP_MAX_HEIGHT,
59
+ padding: 0,
60
+ position: 'absolute',
61
+ top: 0,
62
+ left: 0,
63
+ 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,
64
+ borderRadius: '6px',
65
+ color: '#fff',
66
+ fontSize: '11px',
67
+ visibility: 'visible',
68
+ opacity: 1,
69
+ transition: 'all 0.1s ease-out',
70
+ // Ensure pinned tooltip shows behind edit panel drawer and sticky header
71
+ zIndex: pinnedPos !== null ? 'auto' : theme.zIndex.tooltip,
72
+ overflow: 'hidden',
73
+ '&:hover': {
74
+ overflowY: 'auto'
75
+ }
76
+ };
77
+ }
@@ -20,10 +20,10 @@ Object.defineProperty(exports, "UnitSelector", {
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _material = require("@mui/material");
23
- const _model = require("../model");
24
- const _utils = require("../model/units/utils");
23
+ const _core = require("@perses-dev/core");
25
24
  const _optionsEditorLayout = require("../OptionsEditorLayout");
26
- const KIND_OPTIONS = Object.entries(_model.UNIT_CONFIG).map(([id, config])=>{
25
+ const _settingsAutocomplete = require("../SettingsAutocomplete");
26
+ const KIND_OPTIONS = Object.entries(_core.UNIT_CONFIG).map(([id, config])=>{
27
27
  return {
28
28
  id: id,
29
29
  ...config
@@ -31,26 +31,32 @@ const KIND_OPTIONS = Object.entries(_model.UNIT_CONFIG).map(([id, config])=>{
31
31
  }).filter((config)=>!config.disableSelectorOption);
32
32
  const DECIMAL_PLACES_OPTIONS = [
33
33
  {
34
+ id: 'default',
34
35
  label: 'Default',
35
36
  decimal_places: undefined
36
37
  },
37
38
  {
39
+ id: '0',
38
40
  label: '0',
39
41
  decimal_places: 0
40
42
  },
41
43
  {
44
+ id: '1',
42
45
  label: '1',
43
46
  decimal_places: 1
44
47
  },
45
48
  {
49
+ id: '2',
46
50
  label: '2',
47
51
  decimal_places: 2
48
52
  },
49
53
  {
54
+ id: '3',
50
55
  label: '3',
51
56
  decimal_places: 3
52
57
  },
53
58
  {
59
+ id: '4',
54
60
  label: '4',
55
61
  decimal_places: 4
56
62
  }
@@ -59,8 +65,8 @@ function getOptionByDecimalPlaces(decimal_places) {
59
65
  return DECIMAL_PLACES_OPTIONS.find((o)=>o.decimal_places === decimal_places);
60
66
  }
61
67
  function UnitSelector({ value , onChange }) {
62
- const hasDecimalPlaces = (0, _model.isUnitWithDecimalPlaces)(value);
63
- const hasAbbreviate = (0, _model.isUnitWithAbbreviate)(value);
68
+ const hasDecimalPlaces = (0, _core.isUnitWithDecimalPlaces)(value);
69
+ const hasAbbreviate = (0, _core.isUnitWithAbbreviate)(value);
64
70
  const handleKindChange = (_, newValue)=>{
65
71
  onChange({
66
72
  kind: newValue.id
@@ -82,55 +88,36 @@ function UnitSelector({ value , onChange }) {
82
88
  });
83
89
  }
84
90
  };
85
- const kindConfig = _model.UNIT_CONFIG[value.kind];
91
+ const kindConfig = _core.UNIT_CONFIG[value.kind];
86
92
  return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
87
93
  children: [
88
94
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_optionsEditorLayout.OptionsEditorControl, {
89
95
  label: "Abbreviate",
90
96
  control: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Switch, {
91
- checked: hasAbbreviate ? (0, _utils.shouldAbbreviate)(value.abbreviate) : false,
97
+ checked: hasAbbreviate ? (0, _core.shouldAbbreviate)(value.abbreviate) : false,
92
98
  onChange: handleAbbreviateChange,
93
99
  disabled: !hasAbbreviate
94
100
  })
95
101
  }),
96
102
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_optionsEditorLayout.OptionsEditorControl, {
97
103
  label: "Unit",
98
- control: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Autocomplete, {
104
+ control: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_settingsAutocomplete.SettingsAutocomplete, {
99
105
  value: {
100
106
  id: value.kind,
101
107
  ...kindConfig
102
108
  },
103
109
  options: KIND_OPTIONS,
104
- isOptionEqualToValue: (option, value)=>option.id === value.id,
105
110
  groupBy: (option)=>option.group,
106
- renderInput: (params)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
107
- ...params
108
- }),
109
- renderOption: (renderOptsProps, option)=>{
110
- // Custom option needed to get some increased left padding to make
111
- // the items more distinct from the group label.
112
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)("li", {
113
- ...renderOptsProps,
114
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
115
- paddingLeft: (theme)=>theme.spacing(1),
116
- children: option.label
117
- })
118
- });
119
- },
120
111
  onChange: handleKindChange,
121
112
  disableClearable: true
122
113
  })
123
114
  }),
124
115
  /*#__PURE__*/ (0, _jsxRuntime.jsx)(_optionsEditorLayout.OptionsEditorControl, {
125
116
  label: "Decimals",
126
- control: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Autocomplete, {
117
+ control: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_settingsAutocomplete.SettingsAutocomplete, {
127
118
  value: getOptionByDecimalPlaces(value.decimal_places),
128
119
  options: DECIMAL_PLACES_OPTIONS,
129
120
  getOptionLabel: (o)=>o.label,
130
- isOptionEqualToValue: (option, value)=>option.label === value.label,
131
- renderInput: (params)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
132
- ...params
133
- }),
134
121
  onChange: handleDecimalPlacesChange,
135
122
  disabled: !hasDecimalPlaces,
136
123
  disableClearable: true