@perses-dev/components 0.0.0-snapshot-panel-extra-content-3-17f9c42 → 0.0.0-snapshot-scatterplot-fix-imports-95e1b59

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 (505) hide show
  1. package/dist/BarChart/BarChart.d.ts +3 -4
  2. package/dist/BarChart/BarChart.d.ts.map +1 -1
  3. package/dist/BarChart/BarChart.js +17 -11
  4. package/dist/BarChart/BarChart.js.map +1 -1
  5. package/dist/BarChart/index.js.map +1 -1
  6. package/dist/ColorPicker/ColorPicker.d.ts +1 -2
  7. package/dist/ColorPicker/ColorPicker.d.ts.map +1 -1
  8. package/dist/ColorPicker/ColorPicker.js +1 -1
  9. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  10. package/dist/ColorPicker/index.js.map +1 -1
  11. package/dist/ContentWithLegend/ContentWithLegend.d.ts +1 -2
  12. package/dist/ContentWithLegend/ContentWithLegend.d.ts.map +1 -1
  13. package/dist/ContentWithLegend/ContentWithLegend.js +2 -2
  14. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  15. package/dist/ContentWithLegend/index.js.map +1 -1
  16. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts +3 -3
  17. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts.map +1 -1
  18. package/dist/ContentWithLegend/model/content-with-legend-model.js +21 -21
  19. package/dist/ContentWithLegend/model/content-with-legend-model.js.map +1 -1
  20. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts +1 -2
  21. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts.map +1 -1
  22. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js +8 -24
  23. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js.map +1 -1
  24. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -2
  25. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  26. package/dist/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  27. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
  28. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts +1 -2
  29. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts.map +1 -1
  30. package/dist/DateTimeRangePicker/TimeRangeSelector.js +2 -2
  31. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +1 -1
  32. package/dist/DateTimeRangePicker/index.js.map +1 -1
  33. package/dist/DateTimeRangePicker/utils.js.map +1 -1
  34. package/dist/Dialog/Dialog.d.ts +6 -6
  35. package/dist/Dialog/Dialog.d.ts.map +1 -1
  36. package/dist/Dialog/Dialog.js +5 -5
  37. package/dist/Dialog/Dialog.js.map +1 -1
  38. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts +1 -2
  39. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts.map +1 -1
  40. package/dist/Dialog/DiscardChangesConfirmationDialog.js +1 -1
  41. package/dist/Dialog/DiscardChangesConfirmationDialog.js.map +1 -1
  42. package/dist/Dialog/index.js.map +1 -1
  43. package/dist/Drawer/Drawer.d.ts +1 -2
  44. package/dist/Drawer/Drawer.d.ts.map +1 -1
  45. package/dist/Drawer/Drawer.js +4 -3
  46. package/dist/Drawer/Drawer.js.map +1 -1
  47. package/dist/Drawer/index.js.map +1 -1
  48. package/dist/EChart/EChart.d.ts +7 -7
  49. package/dist/EChart/EChart.d.ts.map +1 -1
  50. package/dist/EChart/EChart.js +3 -3
  51. package/dist/EChart/EChart.js.map +1 -1
  52. package/dist/EChart/index.js.map +1 -1
  53. package/dist/ErrorAlert.d.ts +1 -2
  54. package/dist/ErrorAlert.d.ts.map +1 -1
  55. package/dist/ErrorAlert.js +1 -1
  56. package/dist/ErrorAlert.js.map +1 -1
  57. package/dist/ErrorBoundary.js.map +1 -1
  58. package/dist/FontSizeSelector/FontSizeSelector.d.ts +2 -3
  59. package/dist/FontSizeSelector/FontSizeSelector.d.ts.map +1 -1
  60. package/dist/FontSizeSelector/FontSizeSelector.js +2 -2
  61. package/dist/FontSizeSelector/FontSizeSelector.js.map +1 -1
  62. package/dist/FontSizeSelector/index.js.map +1 -1
  63. package/dist/FormatControls/FormatControls.d.ts +8 -0
  64. package/dist/FormatControls/FormatControls.d.ts.map +1 -0
  65. package/dist/{UnitSelector/UnitSelector.js → FormatControls/FormatControls.js} +26 -26
  66. package/dist/FormatControls/FormatControls.js.map +1 -0
  67. package/dist/FormatControls/index.d.ts +2 -0
  68. package/dist/FormatControls/index.d.ts.map +1 -0
  69. package/dist/{UnitSelector → FormatControls}/index.js +1 -1
  70. package/dist/FormatControls/index.js.map +1 -0
  71. package/dist/GaugeChart/GaugeChart.d.ts +6 -7
  72. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -1
  73. package/dist/GaugeChart/GaugeChart.js +12 -12
  74. package/dist/GaugeChart/GaugeChart.js.map +1 -1
  75. package/dist/GaugeChart/index.js.map +1 -1
  76. package/dist/InfoTooltip/InfoTooltip.d.ts +2 -2
  77. package/dist/InfoTooltip/InfoTooltip.d.ts.map +1 -1
  78. package/dist/InfoTooltip/InfoTooltip.js +4 -4
  79. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  80. package/dist/InfoTooltip/index.js.map +1 -1
  81. package/dist/JSONEditor.d.ts +4 -4
  82. package/dist/JSONEditor.d.ts.map +1 -1
  83. package/dist/JSONEditor.js +9 -8
  84. package/dist/JSONEditor.js.map +1 -1
  85. package/dist/Legend/CompactLegend.d.ts +1 -2
  86. package/dist/Legend/CompactLegend.d.ts.map +1 -1
  87. package/dist/Legend/CompactLegend.js +1 -1
  88. package/dist/Legend/CompactLegend.js.map +1 -1
  89. package/dist/Legend/Legend.d.ts +1 -2
  90. package/dist/Legend/Legend.d.ts.map +1 -1
  91. package/dist/Legend/Legend.js +4 -4
  92. package/dist/Legend/Legend.js.map +1 -1
  93. package/dist/Legend/LegendColorBadge.js +1 -1
  94. package/dist/Legend/LegendColorBadge.js.map +1 -1
  95. package/dist/Legend/ListLegend.d.ts +1 -2
  96. package/dist/Legend/ListLegend.d.ts.map +1 -1
  97. package/dist/Legend/ListLegend.js +1 -1
  98. package/dist/Legend/ListLegend.js.map +1 -1
  99. package/dist/Legend/ListLegendItem.d.ts +2 -2
  100. package/dist/Legend/ListLegendItem.d.ts.map +1 -1
  101. package/dist/Legend/ListLegendItem.js +7 -11
  102. package/dist/Legend/ListLegendItem.js.map +1 -1
  103. package/dist/Legend/TableLegend.d.ts +1 -2
  104. package/dist/Legend/TableLegend.d.ts.map +1 -1
  105. package/dist/Legend/TableLegend.js +2 -2
  106. package/dist/Legend/TableLegend.js.map +1 -1
  107. package/dist/Legend/index.js.map +1 -1
  108. package/dist/Legend/legend-model.d.ts +2 -2
  109. package/dist/Legend/legend-model.d.ts.map +1 -1
  110. package/dist/Legend/legend-model.js.map +1 -1
  111. package/dist/LineChart/LineChart.d.ts +2 -2
  112. package/dist/LineChart/LineChart.d.ts.map +1 -1
  113. package/dist/LineChart/LineChart.js +22 -24
  114. package/dist/LineChart/LineChart.js.map +1 -1
  115. package/dist/LineChart/index.js.map +1 -1
  116. package/dist/ModeSelector/ModeSelector.d.ts +2 -3
  117. package/dist/ModeSelector/ModeSelector.d.ts.map +1 -1
  118. package/dist/ModeSelector/ModeSelector.js +2 -2
  119. package/dist/ModeSelector/ModeSelector.js.map +1 -1
  120. package/dist/ModeSelector/index.js.map +1 -1
  121. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts +2 -2
  122. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts.map +1 -1
  123. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  124. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  125. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts +2 -3
  126. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts.map +1 -1
  127. package/dist/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  128. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  129. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts +2 -2
  130. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts.map +1 -1
  131. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  132. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  133. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts +2 -2
  134. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts.map +1 -1
  135. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +1 -1
  136. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  137. package/dist/OptionsEditorLayout/index.js.map +1 -1
  138. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts +1 -2
  139. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts.map +1 -1
  140. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js +23 -7
  141. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -1
  142. package/dist/RefreshIntervalPicker/index.js.map +1 -1
  143. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts +1 -1
  144. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts.map +1 -1
  145. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +4 -4
  146. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -1
  147. package/dist/SettingsAutocomplete/index.js.map +1 -1
  148. package/dist/SortSelector/SortSelector.d.ts +2 -3
  149. package/dist/SortSelector/SortSelector.d.ts.map +1 -1
  150. package/dist/SortSelector/SortSelector.js +2 -2
  151. package/dist/SortSelector/SortSelector.js.map +1 -1
  152. package/dist/SortSelector/index.js.map +1 -1
  153. package/dist/StatChart/StatChart.d.ts +3 -4
  154. package/dist/StatChart/StatChart.d.ts.map +1 -1
  155. package/dist/StatChart/StatChart.js +10 -10
  156. package/dist/StatChart/StatChart.js.map +1 -1
  157. package/dist/StatChart/calculateFontSize.js +8 -8
  158. package/dist/StatChart/calculateFontSize.js.map +1 -1
  159. package/dist/StatChart/index.js.map +1 -1
  160. package/dist/Table/InnerTable.d.ts +2 -2
  161. package/dist/Table/InnerTable.d.ts.map +1 -1
  162. package/dist/Table/InnerTable.js +2 -2
  163. package/dist/Table/InnerTable.js.map +1 -1
  164. package/dist/Table/Table.d.ts +1 -2
  165. package/dist/Table/Table.d.ts.map +1 -1
  166. package/dist/Table/Table.js +3 -3
  167. package/dist/Table/Table.js.map +1 -1
  168. package/dist/Table/TableBody.d.ts +2 -2
  169. package/dist/Table/TableBody.d.ts.map +1 -1
  170. package/dist/Table/TableBody.js.map +1 -1
  171. package/dist/Table/TableCell.d.ts +1 -1
  172. package/dist/Table/TableCell.d.ts.map +1 -1
  173. package/dist/Table/TableCell.js +4 -4
  174. package/dist/Table/TableCell.js.map +1 -1
  175. package/dist/Table/TableCheckbox.d.ts +1 -2
  176. package/dist/Table/TableCheckbox.d.ts.map +1 -1
  177. package/dist/Table/TableCheckbox.js +1 -1
  178. package/dist/Table/TableCheckbox.js.map +1 -1
  179. package/dist/Table/TableHead.d.ts +2 -2
  180. package/dist/Table/TableHead.d.ts.map +1 -1
  181. package/dist/Table/TableHead.js.map +1 -1
  182. package/dist/Table/TableHeaderCell.d.ts +1 -2
  183. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  184. package/dist/Table/TableHeaderCell.js +1 -1
  185. package/dist/Table/TableHeaderCell.js.map +1 -1
  186. package/dist/Table/TableRow.d.ts +1 -1
  187. package/dist/Table/TableRow.d.ts.map +1 -1
  188. package/dist/Table/TableRow.js.map +1 -1
  189. package/dist/Table/VirtualizedTable.d.ts +2 -2
  190. package/dist/Table/VirtualizedTable.d.ts.map +1 -1
  191. package/dist/Table/VirtualizedTable.js +8 -8
  192. package/dist/Table/VirtualizedTable.js.map +1 -1
  193. package/dist/Table/VirtualizedTableContainer.d.ts +2 -2
  194. package/dist/Table/VirtualizedTableContainer.d.ts.map +1 -1
  195. package/dist/Table/VirtualizedTableContainer.js.map +1 -1
  196. package/dist/Table/hooks/useTableKeyboardNav.d.ts +1 -1
  197. package/dist/Table/hooks/useTableKeyboardNav.d.ts.map +1 -1
  198. package/dist/Table/hooks/useTableKeyboardNav.js +1 -1
  199. package/dist/Table/hooks/useTableKeyboardNav.js.map +1 -1
  200. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js +21 -21
  201. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js.map +1 -1
  202. package/dist/Table/index.js.map +1 -1
  203. package/dist/Table/model/table-model.d.ts +6 -6
  204. package/dist/Table/model/table-model.d.ts.map +1 -1
  205. package/dist/Table/model/table-model.js +11 -11
  206. package/dist/Table/model/table-model.js.map +1 -1
  207. package/dist/ThresholdsEditor/ThresholdColorPicker.d.ts +1 -2
  208. package/dist/ThresholdsEditor/ThresholdColorPicker.d.ts.map +1 -1
  209. package/dist/ThresholdsEditor/ThresholdColorPicker.js +4 -4
  210. package/dist/ThresholdsEditor/ThresholdColorPicker.js.map +1 -1
  211. package/dist/ThresholdsEditor/ThresholdInput.d.ts +1 -1
  212. package/dist/ThresholdsEditor/ThresholdInput.d.ts.map +1 -1
  213. package/dist/ThresholdsEditor/ThresholdInput.js +2 -2
  214. package/dist/ThresholdsEditor/ThresholdInput.js.map +1 -1
  215. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts +1 -2
  216. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts.map +1 -1
  217. package/dist/ThresholdsEditor/ThresholdsEditor.js +23 -21
  218. package/dist/ThresholdsEditor/ThresholdsEditor.js.map +1 -1
  219. package/dist/ThresholdsEditor/index.js.map +1 -1
  220. package/dist/TimeChart/TimeChart.d.ts +3 -3
  221. package/dist/TimeChart/TimeChart.d.ts.map +1 -1
  222. package/dist/TimeChart/TimeChart.js +110 -67
  223. package/dist/TimeChart/TimeChart.js.map +1 -1
  224. package/dist/TimeChart/index.js.map +1 -1
  225. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts +2 -2
  226. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts.map +1 -1
  227. package/dist/TimeSeriesTooltip/LineChartTooltip.js +11 -10
  228. package/dist/TimeSeriesTooltip/LineChartTooltip.js.map +1 -1
  229. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts +1 -2
  230. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts.map +1 -1
  231. package/dist/TimeSeriesTooltip/SeriesInfo.js +3 -3
  232. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -1
  233. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts +1 -2
  234. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts.map +1 -1
  235. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js +1 -1
  236. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -1
  237. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts +1 -2
  238. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts.map +1 -1
  239. package/dist/TimeSeriesTooltip/SeriesMarker.js +1 -1
  240. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -1
  241. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts +2 -2
  242. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts.map +1 -1
  243. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +6 -6
  244. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -1
  245. package/dist/TimeSeriesTooltip/TooltipContent.d.ts +1 -2
  246. package/dist/TimeSeriesTooltip/TooltipContent.d.ts.map +1 -1
  247. package/dist/TimeSeriesTooltip/TooltipContent.js +2 -2
  248. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -1
  249. package/dist/TimeSeriesTooltip/TooltipHeader.js +7 -7
  250. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  251. package/dist/TimeSeriesTooltip/index.js.map +1 -1
  252. package/dist/TimeSeriesTooltip/nearby-series.d.ts +8 -8
  253. package/dist/TimeSeriesTooltip/nearby-series.d.ts.map +1 -1
  254. package/dist/TimeSeriesTooltip/nearby-series.js +44 -45
  255. package/dist/TimeSeriesTooltip/nearby-series.js.map +1 -1
  256. package/dist/TimeSeriesTooltip/tooltip-model.d.ts +13 -26
  257. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -1
  258. package/dist/TimeSeriesTooltip/tooltip-model.js +5 -11
  259. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  260. package/dist/TimeSeriesTooltip/utils.d.ts +1 -1
  261. package/dist/TimeSeriesTooltip/utils.d.ts.map +1 -1
  262. package/dist/TimeSeriesTooltip/utils.js +5 -4
  263. package/dist/TimeSeriesTooltip/utils.js.map +1 -1
  264. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts +6 -0
  265. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts.map +1 -0
  266. package/dist/ToolbarIconButton/ToolbarIconButton.js +32 -0
  267. package/dist/ToolbarIconButton/ToolbarIconButton.js.map +1 -0
  268. package/dist/ToolbarIconButton/index.d.ts +2 -0
  269. package/dist/ToolbarIconButton/index.d.ts.map +1 -0
  270. package/dist/ToolbarIconButton/index.js +15 -0
  271. package/dist/ToolbarIconButton/index.js.map +1 -0
  272. package/dist/YAxisLabel.d.ts +1 -2
  273. package/dist/YAxisLabel.d.ts.map +1 -1
  274. package/dist/YAxisLabel.js +1 -1
  275. package/dist/YAxisLabel.js.map +1 -1
  276. package/dist/cjs/BarChart/BarChart.js +25 -17
  277. package/dist/cjs/BarChart/index.js +10 -8
  278. package/dist/cjs/ColorPicker/ColorPicker.js +19 -15
  279. package/dist/cjs/ColorPicker/index.js +10 -8
  280. package/dist/cjs/ContentWithLegend/ContentWithLegend.js +13 -11
  281. package/dist/cjs/ContentWithLegend/index.js +10 -8
  282. package/dist/cjs/ContentWithLegend/model/content-with-legend-model.js +29 -25
  283. package/dist/cjs/DateTimeRangePicker/AbsoluteTimePicker.js +30 -44
  284. package/dist/cjs/DateTimeRangePicker/DateTimeRangePicker.js +13 -11
  285. package/dist/cjs/DateTimeRangePicker/TimeRangeSelector.js +14 -12
  286. package/dist/cjs/DateTimeRangePicker/index.js +12 -10
  287. package/dist/cjs/DateTimeRangePicker/utils.js +9 -5
  288. package/dist/cjs/Dialog/Dialog.js +16 -14
  289. package/dist/cjs/Dialog/DiscardChangesConfirmationDialog.js +12 -10
  290. package/dist/cjs/Dialog/index.js +11 -9
  291. package/dist/cjs/Drawer/Drawer.js +8 -5
  292. package/dist/cjs/Drawer/index.js +10 -8
  293. package/dist/cjs/EChart/EChart.js +16 -12
  294. package/dist/cjs/EChart/index.js +10 -8
  295. package/dist/cjs/ErrorAlert.js +6 -4
  296. package/dist/cjs/ErrorBoundary.js +4 -2
  297. package/dist/cjs/FontSizeSelector/FontSizeSelector.js +10 -8
  298. package/dist/cjs/FontSizeSelector/index.js +10 -8
  299. package/dist/cjs/{UnitSelector/UnitSelector.js → FormatControls/FormatControls.js} +38 -36
  300. package/dist/cjs/{UnitSelector → FormatControls}/index.js +10 -8
  301. package/dist/cjs/GaugeChart/GaugeChart.js +22 -18
  302. package/dist/cjs/GaugeChart/index.js +10 -8
  303. package/dist/cjs/InfoTooltip/InfoTooltip.js +16 -14
  304. package/dist/cjs/InfoTooltip/index.js +10 -8
  305. package/dist/cjs/JSONEditor.js +19 -16
  306. package/dist/cjs/Legend/CompactLegend.js +10 -8
  307. package/dist/cjs/Legend/Legend.js +16 -14
  308. package/dist/cjs/Legend/LegendColorBadge.js +8 -6
  309. package/dist/cjs/Legend/ListLegend.js +11 -9
  310. package/dist/cjs/Legend/ListLegendItem.js +20 -20
  311. package/dist/cjs/Legend/TableLegend.js +8 -6
  312. package/dist/cjs/Legend/index.js +11 -9
  313. package/dist/cjs/Legend/legend-model.js +3 -1
  314. package/dist/cjs/LineChart/LineChart.js +31 -31
  315. package/dist/cjs/LineChart/index.js +10 -8
  316. package/dist/cjs/ModeSelector/ModeSelector.js +10 -8
  317. package/dist/cjs/ModeSelector/index.js +10 -8
  318. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +7 -5
  319. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +17 -15
  320. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +6 -4
  321. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +12 -10
  322. package/dist/cjs/OptionsEditorLayout/index.js +13 -11
  323. package/dist/cjs/RefreshIntervalPicker/RefreshIntervalPicker.js +28 -10
  324. package/dist/cjs/RefreshIntervalPicker/index.js +10 -8
  325. package/dist/cjs/SettingsAutocomplete/SettingsAutocomplete.js +13 -11
  326. package/dist/cjs/SettingsAutocomplete/index.js +10 -8
  327. package/dist/cjs/SortSelector/SortSelector.js +10 -8
  328. package/dist/cjs/SortSelector/index.js +10 -8
  329. package/dist/cjs/StatChart/StatChart.js +22 -20
  330. package/dist/cjs/StatChart/calculateFontSize.js +11 -9
  331. package/dist/cjs/StatChart/index.js +10 -8
  332. package/dist/cjs/Table/InnerTable.js +7 -5
  333. package/dist/cjs/Table/Table.js +18 -16
  334. package/dist/cjs/Table/TableBody.js +5 -3
  335. package/dist/cjs/Table/TableCell.js +12 -10
  336. package/dist/cjs/Table/TableCheckbox.js +6 -4
  337. package/dist/cjs/Table/TableHead.js +5 -3
  338. package/dist/cjs/Table/TableHeaderCell.js +9 -7
  339. package/dist/cjs/Table/TableRow.js +5 -3
  340. package/dist/cjs/Table/VirtualizedTable.js +34 -32
  341. package/dist/cjs/Table/VirtualizedTableContainer.js +5 -3
  342. package/dist/cjs/Table/hooks/useTableKeyboardNav.js +4 -2
  343. package/dist/cjs/Table/hooks/useVirtualizedTableKeyboardNav.js +24 -22
  344. package/dist/cjs/Table/index.js +14 -10
  345. package/dist/cjs/Table/model/table-model.js +17 -13
  346. package/dist/cjs/ThresholdsEditor/ThresholdColorPicker.js +17 -15
  347. package/dist/cjs/ThresholdsEditor/ThresholdInput.js +15 -13
  348. package/dist/cjs/ThresholdsEditor/ThresholdsEditor.js +50 -44
  349. package/dist/cjs/ThresholdsEditor/index.js +10 -8
  350. package/dist/cjs/TimeChart/TimeChart.js +123 -78
  351. package/dist/cjs/TimeChart/index.js +10 -8
  352. package/dist/cjs/TimeSeriesTooltip/LineChartTooltip.js +31 -28
  353. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.js +18 -16
  354. package/dist/cjs/TimeSeriesTooltip/SeriesLabelsStack.js +16 -14
  355. package/dist/cjs/TimeSeriesTooltip/SeriesMarker.js +6 -4
  356. package/dist/cjs/TimeSeriesTooltip/TimeChartTooltip.js +23 -21
  357. package/dist/cjs/TimeSeriesTooltip/TooltipContent.js +9 -7
  358. package/dist/cjs/TimeSeriesTooltip/TooltipHeader.js +35 -33
  359. package/dist/cjs/TimeSeriesTooltip/index.js +19 -17
  360. package/dist/cjs/TimeSeriesTooltip/nearby-series.js +70 -53
  361. package/dist/cjs/TimeSeriesTooltip/tooltip-model.js +56 -28
  362. package/dist/cjs/TimeSeriesTooltip/utils.js +19 -14
  363. package/dist/cjs/ToolbarIconButton/ToolbarIconButton.js +40 -0
  364. package/dist/cjs/ToolbarIconButton/index.js +30 -0
  365. package/dist/cjs/YAxisLabel.js +7 -5
  366. package/dist/cjs/context/{ChartsThemeProvider.js → ChartsProvider.js} +41 -12
  367. package/dist/cjs/context/SnackbarProvider.js +7 -3
  368. package/dist/cjs/context/TimeZoneProvider.js +17 -9
  369. package/dist/cjs/context/index.js +32 -0
  370. package/dist/cjs/index.js +42 -41
  371. package/dist/cjs/model/graph.js +9 -3
  372. package/dist/cjs/model/index.js +12 -10
  373. package/dist/cjs/test/index.js +10 -8
  374. package/dist/cjs/test/render.js +7 -5
  375. package/dist/cjs/test-utils/index.js +10 -8
  376. package/dist/cjs/test-utils/theme.js +38 -19
  377. package/dist/cjs/theme/component-overrides/alert.js +7 -5
  378. package/dist/cjs/theme/component-overrides/paper.js +4 -2
  379. package/dist/cjs/theme/index.js +10 -8
  380. package/dist/cjs/theme/palette/background.js +6 -2
  381. package/dist/cjs/theme/palette/colors/blue.js +3 -1
  382. package/dist/cjs/theme/palette/colors/common.js +6 -2
  383. package/dist/cjs/theme/palette/colors/green.js +3 -1
  384. package/dist/cjs/theme/palette/colors/grey.js +3 -1
  385. package/dist/cjs/theme/palette/colors/index.js +17 -15
  386. package/dist/cjs/theme/palette/colors/orange.js +3 -1
  387. package/dist/cjs/theme/palette/colors/purple.js +3 -1
  388. package/dist/cjs/theme/palette/colors/red.js +3 -1
  389. package/dist/cjs/theme/palette/error.js +3 -1
  390. package/dist/cjs/theme/palette/grey.js +3 -1
  391. package/dist/cjs/theme/palette/index.js +10 -8
  392. package/dist/cjs/theme/palette/palette-options.js +3 -1
  393. package/dist/cjs/theme/palette/primary.js +3 -1
  394. package/dist/cjs/theme/palette/secondary.js +3 -1
  395. package/dist/cjs/theme/palette/success.js +3 -1
  396. package/dist/cjs/theme/palette/text.js +3 -1
  397. package/dist/cjs/theme/palette/warning.js +3 -1
  398. package/dist/cjs/theme/theme.js +6 -4
  399. package/dist/cjs/theme/typography.js +3 -1
  400. package/dist/cjs/utils/axis.js +11 -7
  401. package/dist/cjs/utils/chart-actions.js +68 -12
  402. package/dist/cjs/utils/combine-sx.js +3 -1
  403. package/dist/cjs/utils/component-ids.js +3 -1
  404. package/dist/cjs/utils/format.js +16 -8
  405. package/dist/cjs/utils/index.js +15 -13
  406. package/dist/cjs/utils/mathjs.js +4 -2
  407. package/dist/cjs/utils/theme-gen.js +16 -18
  408. package/dist/context/ChartsProvider.d.ts +19 -0
  409. package/dist/context/ChartsProvider.d.ts.map +1 -0
  410. package/dist/context/{ChartsThemeProvider.js → ChartsProvider.js} +24 -6
  411. package/dist/context/ChartsProvider.js.map +1 -0
  412. package/dist/context/SnackbarProvider.d.ts +2 -2
  413. package/dist/context/SnackbarProvider.d.ts.map +1 -1
  414. package/dist/context/SnackbarProvider.js +1 -1
  415. package/dist/context/SnackbarProvider.js.map +1 -1
  416. package/dist/context/TimeZoneProvider.d.ts +1 -1
  417. package/dist/context/TimeZoneProvider.d.ts.map +1 -1
  418. package/dist/context/TimeZoneProvider.js +1 -1
  419. package/dist/context/TimeZoneProvider.js.map +1 -1
  420. package/dist/context/index.d.ts +4 -0
  421. package/dist/context/index.d.ts.map +1 -0
  422. package/dist/context/index.js +17 -0
  423. package/dist/context/index.js.map +1 -0
  424. package/dist/index.d.ts +3 -4
  425. package/dist/index.d.ts.map +1 -1
  426. package/dist/index.js +3 -4
  427. package/dist/index.js.map +1 -1
  428. package/dist/model/graph.d.ts +8 -8
  429. package/dist/model/graph.d.ts.map +1 -1
  430. package/dist/model/graph.js.map +1 -1
  431. package/dist/model/index.js.map +1 -1
  432. package/dist/model/theme.d.ts +1 -1
  433. package/dist/model/theme.d.ts.map +1 -1
  434. package/dist/model/theme.js.map +1 -1
  435. package/dist/model/timeOption.js.map +1 -1
  436. package/dist/test/index.js.map +1 -1
  437. package/dist/test/render.js.map +1 -1
  438. package/dist/test/setup-tests.js.map +1 -1
  439. package/dist/test-utils/index.js.map +1 -1
  440. package/dist/test-utils/theme.d.ts +2 -0
  441. package/dist/test-utils/theme.d.ts.map +1 -1
  442. package/dist/test-utils/theme.js +25 -16
  443. package/dist/test-utils/theme.js.map +1 -1
  444. package/dist/theme/component-overrides/alert.js +4 -4
  445. package/dist/theme/component-overrides/alert.js.map +1 -1
  446. package/dist/theme/component-overrides/paper.js +1 -1
  447. package/dist/theme/component-overrides/paper.js.map +1 -1
  448. package/dist/theme/index.d.ts +1 -0
  449. package/dist/theme/index.d.ts.map +1 -1
  450. package/dist/theme/index.js.map +1 -1
  451. package/dist/theme/palette/background.d.ts.map +1 -1
  452. package/dist/theme/palette/background.js +3 -1
  453. package/dist/theme/palette/background.js.map +1 -1
  454. package/dist/theme/palette/colors/blue.js.map +1 -1
  455. package/dist/theme/palette/colors/common.js.map +1 -1
  456. package/dist/theme/palette/colors/green.js.map +1 -1
  457. package/dist/theme/palette/colors/grey.js.map +1 -1
  458. package/dist/theme/palette/colors/index.js.map +1 -1
  459. package/dist/theme/palette/colors/orange.js.map +1 -1
  460. package/dist/theme/palette/colors/purple.js.map +1 -1
  461. package/dist/theme/palette/colors/red.js.map +1 -1
  462. package/dist/theme/palette/colors/types.d.ts +1 -1
  463. package/dist/theme/palette/colors/types.d.ts.map +1 -1
  464. package/dist/theme/palette/colors/types.js.map +1 -1
  465. package/dist/theme/palette/error.js.map +1 -1
  466. package/dist/theme/palette/grey.js.map +1 -1
  467. package/dist/theme/palette/index.js.map +1 -1
  468. package/dist/theme/palette/palette-options.js.map +1 -1
  469. package/dist/theme/palette/primary.js.map +1 -1
  470. package/dist/theme/palette/secondary.js.map +1 -1
  471. package/dist/theme/palette/success.js.map +1 -1
  472. package/dist/theme/palette/text.js.map +1 -1
  473. package/dist/theme/palette/warning.js.map +1 -1
  474. package/dist/theme/theme.js +1 -1
  475. package/dist/theme/theme.js.map +1 -1
  476. package/dist/theme/types/ThemeExtension.d.js.map +1 -1
  477. package/dist/theme/typography.js.map +1 -1
  478. package/dist/utils/axis.d.ts +4 -4
  479. package/dist/utils/axis.d.ts.map +1 -1
  480. package/dist/utils/axis.js +4 -4
  481. package/dist/utils/axis.js.map +1 -1
  482. package/dist/utils/chart-actions.d.ts +6 -2
  483. package/dist/utils/chart-actions.d.ts.map +1 -1
  484. package/dist/utils/chart-actions.js +51 -7
  485. package/dist/utils/chart-actions.js.map +1 -1
  486. package/dist/utils/combine-sx.js.map +1 -1
  487. package/dist/utils/component-ids.js.map +1 -1
  488. package/dist/utils/format.js.map +1 -1
  489. package/dist/utils/index.js.map +1 -1
  490. package/dist/utils/mathjs.js +1 -1
  491. package/dist/utils/mathjs.js.map +1 -1
  492. package/dist/utils/theme-gen.d.ts +3 -8
  493. package/dist/utils/theme-gen.d.ts.map +1 -1
  494. package/dist/utils/theme-gen.js +11 -15
  495. package/dist/utils/theme-gen.js.map +1 -1
  496. package/package.json +8 -7
  497. package/dist/UnitSelector/UnitSelector.d.ts +0 -9
  498. package/dist/UnitSelector/UnitSelector.d.ts.map +0 -1
  499. package/dist/UnitSelector/UnitSelector.js.map +0 -1
  500. package/dist/UnitSelector/index.d.ts +0 -2
  501. package/dist/UnitSelector/index.d.ts.map +0 -1
  502. package/dist/UnitSelector/index.js.map +0 -1
  503. package/dist/context/ChartsThemeProvider.d.ts +0 -10
  504. package/dist/context/ChartsThemeProvider.d.ts.map +0 -1
  505. package/dist/context/ChartsThemeProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdColorPicker.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React from 'react';\nimport { styled, IconButton, Popover } from '@mui/material';\nimport CircleIcon from 'mdi-material-ui/Circle';\nimport { useChartsTheme } from '../context/ChartsThemeProvider';\nimport { ColorPicker } from '../ColorPicker';\nimport { ThresholdInputProps } from './ThresholdInput';\n\nexport function ThresholdColorPicker({\n color,\n onColorChange,\n label,\n}: Pick<ThresholdInputProps, 'color' | 'onColorChange' | 'label'>) {\n const [anchorEl, setAnchorEl] = React.useState<HTMLButtonElement | null>(null);\n const isOpen = Boolean(anchorEl);\n\n const openColorPicker = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const closeColorPicker = () => {\n setAnchorEl(null);\n };\n\n const {\n thresholds: { defaultColor, palette },\n } = useChartsTheme();\n\n return (\n <>\n <ColorIconButton\n size=\"small\"\n aria-label={`change threshold ${label} color`}\n isSelected={isOpen}\n iconColor={color}\n onClick={openColorPicker}\n >\n <CircleIcon />\n </ColorIconButton>\n <Popover\n data-testid=\"threshold color picker\"\n open={isOpen}\n anchorEl={anchorEl}\n onClose={closeColorPicker}\n PaperProps={{ sx: { padding: (theme) => theme.spacing(2) } }}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <ColorPicker color={color} onChange={onColorChange} palette={[defaultColor, ...palette]} />\n </Popover>\n </>\n );\n}\n\nconst ColorIconButton = styled(IconButton, {\n shouldForwardProp: (props) => props !== 'isSelected' && props !== 'iconColor',\n})<{\n iconColor?: string;\n isSelected?: boolean;\n}>(({ iconColor, isSelected }) => ({\n backgroundColor: isSelected && iconColor ? `${iconColor}3F` : 'undefined', // 3F represents 25% opacity\n color: iconColor,\n}));\n"],"names":["React","styled","IconButton","Popover","CircleIcon","useChartsTheme","ColorPicker","ThresholdColorPicker","color","onColorChange","label","anchorEl","setAnchorEl","useState","isOpen","Boolean","openColorPicker","event","currentTarget","closeColorPicker","thresholds","defaultColor","palette","ColorIconButton","size","aria-label","isSelected","iconColor","onClick","data-testid","open","onClose","PaperProps","sx","padding","theme","spacing","anchorOrigin","vertical","horizontal","transformOrigin","onChange","shouldForwardProp","props","backgroundColor"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC;AAAA,OAAOA,KAAK,MAAM,OAAO,CAAC;AAC1B,SAASC,MAAM,EAAEC,UAAU,EAAEC,OAAO,QAAQ,eAAe,CAAC;AAC5D,OAAOC,UAAU,MAAM,wBAAwB,CAAC;AAChD,SAASC,cAAc,QAAQ,gCAAgC,CAAC;AAChE,SAASC,WAAW,QAAQ,gBAAgB,CAAC;AAG7C,OAAO,SAASC,oBAAoB,CAAC,EACnCC,KAAK,CAAA,EACLC,aAAa,CAAA,EACbC,KAAK,CAAA,EAC0D,EAAE;IACjE,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGZ,KAAK,CAACa,QAAQ,CAA2B,IAAI,CAAC,AAAC;IAC/E,MAAMC,MAAM,GAAGC,OAAO,CAACJ,QAAQ,CAAC,AAAC;IAEjC,MAAMK,eAAe,GAAG,CAACC,KAA0C,GAAK;QACtEL,WAAW,CAACK,KAAK,CAACC,aAAa,CAAC,CAAC;IACnC,CAAC,AAAC;IAEF,MAAMC,gBAAgB,GAAG,IAAM;QAC7BP,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,AAAC;IAEF,MAAM,EACJQ,UAAU,EAAE,EAAEC,YAAY,CAAA,EAAEC,OAAO,CAAA,EAAE,CAAA,IACtC,GAAGjB,cAAc,EAAE,AAAC;IAErB,qBACE;;0BACE,KAACkB,eAAe;gBACdC,IAAI,EAAC,OAAO;gBACZC,YAAU,EAAE,CAAC,iBAAiB,EAAEf,KAAK,CAAC,MAAM,CAAC;gBAC7CgB,UAAU,EAAEZ,MAAM;gBAClBa,SAAS,EAAEnB,KAAK;gBAChBoB,OAAO,EAAEZ,eAAe;0BAExB,cAAA,KAACZ,UAAU,KAAG;cACE;0BAClB,KAACD,OAAO;gBACN0B,aAAW,EAAC,wBAAwB;gBACpCC,IAAI,EAAEhB,MAAM;gBACZH,QAAQ,EAAEA,QAAQ;gBAClBoB,OAAO,EAAEZ,gBAAgB;gBACzBa,UAAU,EAAE;oBAAEC,EAAE,EAAE;wBAAEC,OAAO,EAAE,CAACC,KAAK,GAAKA,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC;qBAAE;iBAAE;gBAC5DC,YAAY,EAAE;oBACZC,QAAQ,EAAE,KAAK;oBACfC,UAAU,EAAE,MAAM;iBACnB;gBACDC,eAAe,EAAE;oBACfF,QAAQ,EAAE,KAAK;oBACfC,UAAU,EAAE,OAAO;iBACpB;0BAED,cAAA,KAACjC,WAAW;oBAACE,KAAK,EAAEA,KAAK;oBAAEiC,QAAQ,EAAEhC,aAAa;oBAAEa,OAAO,EAAE;wBAACD,YAAY;2BAAKC,OAAO;qBAAC;kBAAI;cACnF;;MACT,CACH;AACJ,CAAC;AAED,MAAMC,eAAe,GAAGtB,MAAM,CAACC,UAAU,EAAE;IACzCwC,iBAAiB,EAAE,CAACC,KAAK,GAAKA,KAAK,KAAK,YAAY,IAAIA,KAAK,KAAK,WAAW;CAC9E,CAAC,CAGC,CAAC,EAAEhB,SAAS,CAAA,EAAED,UAAU,CAAA,EAAE,GAAM,CAAA;QACjCkB,eAAe,EAAElB,UAAU,IAAIC,SAAS,GAAG,CAAC,EAAEA,SAAS,CAAC,EAAE,CAAC,GAAG,WAAW;QACzEnB,KAAK,EAAEmB,SAAS;KACjB,CAAA,AAAC,CAAC,AAAC"}
1
+ {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdColorPicker.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React from 'react';\nimport { styled, IconButton, Popover } from '@mui/material';\nimport CircleIcon from 'mdi-material-ui/Circle';\nimport { useChartsTheme } from '../context/ChartsProvider';\nimport { ColorPicker } from '../ColorPicker';\nimport { ThresholdInputProps } from './ThresholdInput';\n\nexport function ThresholdColorPicker({\n color,\n onColorChange,\n label,\n}: Pick<ThresholdInputProps, 'color' | 'onColorChange' | 'label'>) {\n const [anchorEl, setAnchorEl] = React.useState<HTMLButtonElement | null>(null);\n const isOpen = Boolean(anchorEl);\n\n const openColorPicker = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const closeColorPicker = () => {\n setAnchorEl(null);\n };\n\n const {\n thresholds: { defaultColor, palette },\n } = useChartsTheme();\n\n return (\n <>\n <ColorIconButton\n size=\"small\"\n aria-label={`change threshold ${label} color`}\n isSelected={isOpen}\n iconColor={color}\n onClick={openColorPicker}\n >\n <CircleIcon />\n </ColorIconButton>\n <Popover\n data-testid=\"threshold color picker\"\n open={isOpen}\n anchorEl={anchorEl}\n onClose={closeColorPicker}\n PaperProps={{ sx: { padding: (theme) => theme.spacing(2) } }}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <ColorPicker color={color} onChange={onColorChange} palette={[defaultColor, ...palette]} />\n </Popover>\n </>\n );\n}\n\nconst ColorIconButton = styled(IconButton, {\n shouldForwardProp: (props) => props !== 'isSelected' && props !== 'iconColor',\n})<{\n iconColor?: string;\n isSelected?: boolean;\n}>(({ iconColor, isSelected }) => ({\n backgroundColor: isSelected && iconColor ? `${iconColor}3F` : 'undefined', // 3F represents 25% opacity\n color: iconColor,\n}));\n"],"names":["React","styled","IconButton","Popover","CircleIcon","useChartsTheme","ColorPicker","ThresholdColorPicker","color","onColorChange","label","anchorEl","setAnchorEl","useState","isOpen","Boolean","openColorPicker","event","currentTarget","closeColorPicker","thresholds","defaultColor","palette","ColorIconButton","size","aria-label","isSelected","iconColor","onClick","data-testid","open","onClose","PaperProps","sx","padding","theme","spacing","anchorOrigin","vertical","horizontal","transformOrigin","onChange","shouldForwardProp","props","backgroundColor"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,EAAEC,UAAU,EAAEC,OAAO,QAAQ,gBAAgB;AAC5D,OAAOC,gBAAgB,yBAAyB;AAChD,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,WAAW,QAAQ,iBAAiB;AAG7C,OAAO,SAASC,qBAAqB,EACnCC,KAAK,EACLC,aAAa,EACbC,KAAK,EAC0D;IAC/D,MAAM,CAACC,UAAUC,YAAY,GAAGZ,MAAMa,QAAQ,CAA2B;IACzE,MAAMC,SAASC,QAAQJ;IAEvB,MAAMK,kBAAkB,CAACC;QACvBL,YAAYK,MAAMC,aAAa;IACjC;IAEA,MAAMC,mBAAmB;QACvBP,YAAY;IACd;IAEA,MAAM,EACJQ,YAAY,EAAEC,YAAY,EAAEC,OAAO,EAAE,EACtC,GAAGjB;IAEJ,qBACE;;0BACE,KAACkB;gBACCC,MAAK;gBACLC,cAAY,CAAC,iBAAiB,EAAEf,MAAM,MAAM,CAAC;gBAC7CgB,YAAYZ;gBACZa,WAAWnB;gBACXoB,SAASZ;0BAET,cAAA,KAACZ;;0BAEH,KAACD;gBACC0B,eAAY;gBACZC,MAAMhB;gBACNH,UAAUA;gBACVoB,SAASZ;gBACTa,YAAY;oBAAEC,IAAI;wBAAEC,SAAS,CAACC,QAAUA,MAAMC,OAAO,CAAC;oBAAG;gBAAE;gBAC3DC,cAAc;oBACZC,UAAU;oBACVC,YAAY;gBACd;gBACAC,iBAAiB;oBACfF,UAAU;oBACVC,YAAY;gBACd;0BAEA,cAAA,KAACjC;oBAAYE,OAAOA;oBAAOiC,UAAUhC;oBAAea,SAAS;wBAACD;2BAAiBC;qBAAQ;;;;;AAI/F;AAEA,MAAMC,kBAAkBtB,OAAOC,YAAY;IACzCwC,mBAAmB,CAACC,QAAUA,UAAU,gBAAgBA,UAAU;AACpE,GAGG,CAAC,EAAEhB,SAAS,EAAED,UAAU,EAAE,GAAM,CAAA;QACjCkB,iBAAiBlB,cAAcC,YAAY,CAAC,EAAEA,UAAU,EAAE,CAAC,GAAG;QAC9DnB,OAAOmB;IACT,CAAA"}
@@ -11,5 +11,5 @@ export interface ThresholdInputProps {
11
11
  inputRef?: RefObject<HTMLInputElement | null>;
12
12
  mode?: ThresholdOptions['mode'];
13
13
  }
14
- export declare function ThresholdInput({ inputRef, label, color, value, mode, onChange, onColorChange, onBlur, onDelete, }: ThresholdInputProps): JSX.Element;
14
+ export declare function ThresholdInput({ inputRef, label, color, value, mode, onChange, onColorChange, onBlur, onDelete, }: ThresholdInputProps): import("react/jsx-runtime").JSX.Element;
15
15
  //# sourceMappingURL=ThresholdInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThresholdInput.d.ts","sourceRoot":"","sources":["../../src/ThresholdsEditor/ThresholdInput.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,eA8BrB"}
1
+ {"version":3,"file":"ThresholdInput.d.ts","sourceRoot":"","sources":["../../src/ThresholdsEditor/ThresholdInput.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,2CA8BrB"}
@@ -15,7 +15,7 @@ import { useState } from 'react';
15
15
  import { Stack, FormLabel, TextField, IconButton, Box } from '@mui/material';
16
16
  import DeleteIcon from 'mdi-material-ui/DeleteOutline';
17
17
  import { ThresholdColorPicker } from './ThresholdColorPicker';
18
- export function ThresholdInput({ inputRef , label , color , value , mode , onChange , onColorChange , onBlur , onDelete }) {
18
+ export function ThresholdInput({ inputRef, label, color, value, mode, onChange, onColorChange, onBlur, onDelete }) {
19
19
  const [key, setKey] = useState(0); // use key to cause input to lose focus when pressing enter
20
20
  return /*#__PURE__*/ _jsxs(Stack, {
21
21
  flex: 1,
@@ -48,7 +48,7 @@ export function ThresholdInput({ inputRef , label , color , value , mode , onCha
48
48
  }
49
49
  },
50
50
  InputProps: {
51
- endAdornment: mode === 'Percent' ? /*#__PURE__*/ _jsx(Box, {
51
+ endAdornment: mode === 'percent' ? /*#__PURE__*/ _jsx(Box, {
52
52
  paddingX: 1,
53
53
  children: "%"
54
54
  }) : undefined
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdInput.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { RefObject, useState } from 'react';\nimport { Stack, FormLabel, TextField, IconButton, Box } from '@mui/material';\nimport DeleteIcon from 'mdi-material-ui/DeleteOutline';\nimport { ThresholdOptions } from '@perses-dev/core';\nimport { ThresholdColorPicker } from './ThresholdColorPicker';\n\nexport interface ThresholdInputProps {\n label: string;\n color: string;\n value: number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onColorChange: (color: string) => void;\n onBlur: () => void;\n onDelete: () => void;\n inputRef?: RefObject<HTMLInputElement | null>;\n mode?: ThresholdOptions['mode'];\n}\n\nexport function ThresholdInput({\n inputRef,\n label,\n color,\n value,\n mode,\n onChange,\n onColorChange,\n onBlur,\n onDelete,\n}: ThresholdInputProps) {\n const [key, setKey] = useState(0); // use key to cause input to lose focus when pressing enter\n return (\n <Stack flex={1} direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\" spacing={1}>\n <ThresholdColorPicker label={label} color={color} onColorChange={onColorChange} />\n <FormLabel htmlFor={label}>{label}</FormLabel>\n <TextField\n id={label}\n key={key}\n inputRef={inputRef}\n type=\"number\"\n value={value === 0 ? '' : value}\n placeholder=\"0\"\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onBlur();\n setKey(key + 1);\n }\n }}\n InputProps={{\n endAdornment: mode === 'Percent' ? <Box paddingX={1}>%</Box> : undefined,\n }}\n />\n <IconButton aria-label={`delete threshold ${label}`} size=\"small\" onClick={onDelete}>\n <DeleteIcon />\n </IconButton>\n </Stack>\n );\n}\n"],"names":["useState","Stack","FormLabel","TextField","IconButton","Box","DeleteIcon","ThresholdColorPicker","ThresholdInput","inputRef","label","color","value","mode","onChange","onColorChange","onBlur","onDelete","key","setKey","flex","direction","alignItems","justifyContent","spacing","htmlFor","id","type","placeholder","onKeyDown","e","InputProps","endAdornment","paddingX","undefined","aria-label","size","onClick"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC;AAAA,SAAoBA,QAAQ,QAAQ,OAAO,CAAC;AAC5C,SAASC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,GAAG,QAAQ,eAAe,CAAC;AAC7E,OAAOC,UAAU,MAAM,+BAA+B,CAAC;AAEvD,SAASC,oBAAoB,QAAQ,wBAAwB,CAAC;AAc9D,OAAO,SAASC,cAAc,CAAC,EAC7BC,QAAQ,CAAA,EACRC,KAAK,CAAA,EACLC,KAAK,CAAA,EACLC,KAAK,CAAA,EACLC,IAAI,CAAA,EACJC,QAAQ,CAAA,EACRC,aAAa,CAAA,EACbC,MAAM,CAAA,EACNC,QAAQ,CAAA,EACY,EAAE;IACtB,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGnB,QAAQ,CAAC,CAAC,CAAC,AAAC,EAAC,2DAA2D;IAC9F,qBACE,MAACC,KAAK;QAACmB,IAAI,EAAE,CAAC;QAAEC,SAAS,EAAC,KAAK;QAACC,UAAU,EAAC,QAAQ;QAACC,cAAc,EAAC,eAAe;QAACC,OAAO,EAAE,CAAC;;0BAC3F,KAACjB,oBAAoB;gBAACG,KAAK,EAAEA,KAAK;gBAAEC,KAAK,EAAEA,KAAK;gBAAEI,aAAa,EAAEA,aAAa;cAAI;0BAClF,KAACb,SAAS;gBAACuB,OAAO,EAAEf,KAAK;0BAAGA,KAAK;cAAa;0BAC9C,KAACP,SAAS;gBACRuB,EAAE,EAAEhB,KAAK;gBAETD,QAAQ,EAAEA,QAAQ;gBAClBkB,IAAI,EAAC,QAAQ;gBACbf,KAAK,EAAEA,KAAK,KAAK,CAAC,GAAG,EAAE,GAAGA,KAAK;gBAC/BgB,WAAW,EAAC,GAAG;gBACfd,QAAQ,EAAEA,QAAQ;gBAClBE,MAAM,EAAEA,MAAM;gBACda,SAAS,EAAE,CAACC,CAAC,GAAK;oBAChB,IAAIA,CAAC,CAACZ,GAAG,KAAK,OAAO,EAAE;wBACrBF,MAAM,EAAE,CAAC;wBACTG,MAAM,CAACD,GAAG,GAAG,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACDa,UAAU,EAAE;oBACVC,YAAY,EAAEnB,IAAI,KAAK,SAAS,iBAAG,KAACR,GAAG;wBAAC4B,QAAQ,EAAE,CAAC;kCAAE,GAAC;sBAAM,GAAGC,SAAS;iBACzE;eAfIhB,GAAG,CAgBR;0BACF,KAACd,UAAU;gBAAC+B,YAAU,EAAE,CAAC,iBAAiB,EAAEzB,KAAK,CAAC,CAAC;gBAAE0B,IAAI,EAAC,OAAO;gBAACC,OAAO,EAAEpB,QAAQ;0BACjF,cAAA,KAACX,UAAU,KAAG;cACH;;MACP,CACR;AACJ,CAAC"}
1
+ {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdInput.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { RefObject, useState } from 'react';\nimport { Stack, FormLabel, TextField, IconButton, Box } from '@mui/material';\nimport DeleteIcon from 'mdi-material-ui/DeleteOutline';\nimport { ThresholdOptions } from '@perses-dev/core';\nimport { ThresholdColorPicker } from './ThresholdColorPicker';\n\nexport interface ThresholdInputProps {\n label: string;\n color: string;\n value: number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onColorChange: (color: string) => void;\n onBlur: () => void;\n onDelete: () => void;\n inputRef?: RefObject<HTMLInputElement | null>;\n mode?: ThresholdOptions['mode'];\n}\n\nexport function ThresholdInput({\n inputRef,\n label,\n color,\n value,\n mode,\n onChange,\n onColorChange,\n onBlur,\n onDelete,\n}: ThresholdInputProps) {\n const [key, setKey] = useState(0); // use key to cause input to lose focus when pressing enter\n return (\n <Stack flex={1} direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\" spacing={1}>\n <ThresholdColorPicker label={label} color={color} onColorChange={onColorChange} />\n <FormLabel htmlFor={label}>{label}</FormLabel>\n <TextField\n id={label}\n key={key}\n inputRef={inputRef}\n type=\"number\"\n value={value === 0 ? '' : value}\n placeholder=\"0\"\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n onBlur();\n setKey(key + 1);\n }\n }}\n InputProps={{\n endAdornment: mode === 'percent' ? <Box paddingX={1}>%</Box> : undefined,\n }}\n />\n <IconButton aria-label={`delete threshold ${label}`} size=\"small\" onClick={onDelete}>\n <DeleteIcon />\n </IconButton>\n </Stack>\n );\n}\n"],"names":["useState","Stack","FormLabel","TextField","IconButton","Box","DeleteIcon","ThresholdColorPicker","ThresholdInput","inputRef","label","color","value","mode","onChange","onColorChange","onBlur","onDelete","key","setKey","flex","direction","alignItems","justifyContent","spacing","htmlFor","id","type","placeholder","onKeyDown","e","InputProps","endAdornment","paddingX","undefined","aria-label","size","onClick"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAAoBA,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,GAAG,QAAQ,gBAAgB;AAC7E,OAAOC,gBAAgB,gCAAgC;AAEvD,SAASC,oBAAoB,QAAQ,yBAAyB;AAc9D,OAAO,SAASC,eAAe,EAC7BC,QAAQ,EACRC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACY;IACpB,MAAM,CAACC,KAAKC,OAAO,GAAGnB,SAAS,IAAI,2DAA2D;IAC9F,qBACE,MAACC;QAAMmB,MAAM;QAAGC,WAAU;QAAMC,YAAW;QAASC,gBAAe;QAAgBC,SAAS;;0BAC1F,KAACjB;gBAAqBG,OAAOA;gBAAOC,OAAOA;gBAAOI,eAAeA;;0BACjE,KAACb;gBAAUuB,SAASf;0BAAQA;;0BAC5B,KAACP;gBACCuB,IAAIhB;gBAEJD,UAAUA;gBACVkB,MAAK;gBACLf,OAAOA,UAAU,IAAI,KAAKA;gBAC1BgB,aAAY;gBACZd,UAAUA;gBACVE,QAAQA;gBACRa,WAAW,CAACC;oBACV,IAAIA,EAAEZ,GAAG,KAAK,SAAS;wBACrBF;wBACAG,OAAOD,MAAM;oBACf;gBACF;gBACAa,YAAY;oBACVC,cAAcnB,SAAS,0BAAY,KAACR;wBAAI4B,UAAU;kCAAG;yBAAUC;gBACjE;eAfKhB;0BAiBP,KAACd;gBAAW+B,cAAY,CAAC,iBAAiB,EAAEzB,MAAM,CAAC;gBAAE0B,MAAK;gBAAQC,SAASpB;0BACzE,cAAA,KAACX;;;;AAIT"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ThresholdOptions } from '@perses-dev/core';
3
2
  export interface ThresholdsEditorProps {
4
3
  onChange: (thresholds: ThresholdOptions) => void;
@@ -6,5 +5,5 @@ export interface ThresholdsEditorProps {
6
5
  hideDefault?: boolean;
7
6
  disablePercentMode?: boolean;
8
7
  }
9
- export declare function ThresholdsEditor({ thresholds, onChange, hideDefault, disablePercentMode }: ThresholdsEditorProps): JSX.Element;
8
+ export declare function ThresholdsEditor({ thresholds, onChange, hideDefault, disablePercentMode }: ThresholdsEditorProps): import("react/jsx-runtime").JSX.Element;
10
9
  //# sourceMappingURL=ThresholdsEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThresholdsEditor.d.ts","sourceRoot":"","sources":["../../src/ThresholdsEditor/ThresholdsEditor.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOpD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAID,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,eA+LhH"}
1
+ {"version":3,"file":"ThresholdsEditor.d.ts","sourceRoot":"","sources":["../../src/ThresholdsEditor/ThresholdsEditor.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOpD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAID,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,2CAgMhH"}
@@ -16,16 +16,17 @@ import produce from 'immer';
16
16
  import { IconButton, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material';
17
17
  import PlusIcon from 'mdi-material-ui/Plus';
18
18
  import { Stack } from '@mui/system';
19
- import { useChartsTheme } from '../context/ChartsThemeProvider';
19
+ import { useChartsTheme } from '../context/ChartsProvider';
20
20
  import { OptionsEditorControl, OptionsEditorGroup } from '../OptionsEditorLayout';
21
21
  import { InfoTooltip } from '../InfoTooltip';
22
22
  import { ThresholdColorPicker } from './ThresholdColorPicker';
23
23
  import { ThresholdInput } from './ThresholdInput';
24
24
  const DEFAULT_STEP = 10;
25
- export function ThresholdsEditor({ thresholds , onChange , hideDefault , disablePercentMode }) {
26
- const { thresholds: { defaultColor , palette } , } = useChartsTheme();
27
- var ref;
28
- const defaultThresholdColor = (ref = thresholds === null || thresholds === void 0 ? void 0 : thresholds.default_color) !== null && ref !== void 0 ? ref : defaultColor;
25
+ export function ThresholdsEditor({ thresholds, onChange, hideDefault, disablePercentMode }) {
26
+ const chartsTheme = useChartsTheme();
27
+ const { thresholds: { defaultColor, palette } } = chartsTheme;
28
+ var _thresholds_defaultColor;
29
+ const defaultThresholdColor = (_thresholds_defaultColor = thresholds === null || thresholds === void 0 ? void 0 : thresholds.defaultColor) !== null && _thresholds_defaultColor !== void 0 ? _thresholds_defaultColor : defaultColor;
29
30
  const [steps, setSteps] = useState(thresholds === null || thresholds === void 0 ? void 0 : thresholds.steps);
30
31
  useEffect(()=>{
31
32
  setSteps(thresholds === null || thresholds === void 0 ? void 0 : thresholds.steps);
@@ -36,9 +37,9 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
36
37
  const recentlyAddedInputRef = useRef(null);
37
38
  const focusRef = useRef(false);
38
39
  useEffect(()=>{
39
- var ref;
40
+ var _recentlyAddedInputRef_current;
40
41
  if (!recentlyAddedInputRef.current || !focusRef.current) return;
41
- (ref = recentlyAddedInputRef.current) === null || ref === void 0 ? void 0 : ref.focus();
42
+ (_recentlyAddedInputRef_current = recentlyAddedInputRef.current) === null || _recentlyAddedInputRef_current === void 0 ? void 0 : _recentlyAddedInputRef_current.focus();
42
43
  focusRef.current = false;
43
44
  }, [
44
45
  steps === null || steps === void 0 ? void 0 : steps.length
@@ -66,11 +67,11 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
66
67
  const handleDefaultColorChange = (color)=>{
67
68
  if (thresholds !== undefined) {
68
69
  onChange(produce(thresholds, (draft)=>{
69
- draft.default_color = color;
70
+ draft.defaultColor = color;
70
71
  }));
71
72
  } else {
72
73
  onChange({
73
- default_color: color
74
+ defaultColor: color
74
75
  });
75
76
  }
76
77
  };
@@ -121,12 +122,12 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
121
122
  const steps = draft.steps;
122
123
  if (steps === null || steps === void 0 ? void 0 : steps.length) {
123
124
  const lastStep = steps[steps.length - 1];
124
- var _length;
125
- const color = (_length = palette[steps.length]) !== null && _length !== void 0 ? _length : getRandomColor(); // we will assign color from the palette first, then generate random color
126
- var ref;
125
+ var _palette_steps_length;
126
+ const color = (_palette_steps_length = palette[steps.length]) !== null && _palette_steps_length !== void 0 ? _palette_steps_length : getRandomColor(); // we will assign color from the palette first, then generate random color
127
+ var _lastStep_value;
127
128
  steps.push({
128
129
  color,
129
- value: ((ref = lastStep === null || lastStep === void 0 ? void 0 : lastStep.value) !== null && ref !== void 0 ? ref : 0) + DEFAULT_STEP
130
+ value: ((_lastStep_value = lastStep === null || lastStep === void 0 ? void 0 : lastStep.value) !== null && _lastStep_value !== void 0 ? _lastStep_value : 0) + DEFAULT_STEP
130
131
  }); // set new threshold value to last step value + 10
131
132
  } else if (steps) {
132
133
  steps.push({
@@ -137,7 +138,7 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
137
138
  }
138
139
  };
139
140
  const handleModeChange = (event, value)=>{
140
- const mode = value === 'Percent' ? 'Percent' : undefined;
141
+ const mode = value === 'percent' ? 'percent' : undefined;
141
142
  if (thresholds !== undefined) {
142
143
  onChange(produce(thresholds, (draft)=>{
143
144
  draft.mode = mode;
@@ -148,7 +149,7 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
148
149
  });
149
150
  }
150
151
  };
151
- var ref1, _color, ref2;
152
+ var _thresholds_mode;
152
153
  return /*#__PURE__*/ _jsxs(OptionsEditorGroup, {
153
154
  title: "Thresholds",
154
155
  icon: /*#__PURE__*/ _jsx(InfoTooltip, {
@@ -167,7 +168,7 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
167
168
  control: /*#__PURE__*/ _jsxs(ToggleButtonGroup, {
168
169
  exclusive: true,
169
170
  disabled: disablePercentMode,
170
- value: (ref1 = thresholds === null || thresholds === void 0 ? void 0 : thresholds.mode) !== null && ref1 !== void 0 ? ref1 : 'Absolute',
171
+ value: (_thresholds_mode = thresholds === null || thresholds === void 0 ? void 0 : thresholds.mode) !== null && _thresholds_mode !== void 0 ? _thresholds_mode : 'absolute',
171
172
  onChange: handleModeChange,
172
173
  sx: {
173
174
  height: '36px',
@@ -176,7 +177,7 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
176
177
  children: [
177
178
  /*#__PURE__*/ _jsx(ToggleButton, {
178
179
  "aria-label": "absolute",
179
- value: "Absolute",
180
+ value: "absolute",
180
181
  sx: {
181
182
  fontWeight: 500
182
183
  },
@@ -184,7 +185,7 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
184
185
  }),
185
186
  /*#__PURE__*/ _jsx(ToggleButton, {
186
187
  "aria-label": "percent",
187
- value: "Percent",
188
+ value: "percent",
188
189
  sx: {
189
190
  fontWeight: 500
190
191
  },
@@ -193,11 +194,12 @@ export function ThresholdsEditor({ thresholds , onChange , hideDefault , disable
193
194
  ]
194
195
  })
195
196
  }),
196
- steps && steps.map((step, i)=>{
197
- /*#__PURE__*/ return _jsx(ThresholdInput, {
197
+ steps && steps.map((step, i)=>/*#__PURE__*/ {
198
+ var _step_color, _ref;
199
+ return _jsx(ThresholdInput, {
198
200
  inputRef: i === steps.length - 1 ? recentlyAddedInputRef : undefined,
199
201
  label: `T${i + 1}`,
200
- color: (ref2 = (_color = step.color) !== null && _color !== void 0 ? _color : palette[i]) !== null && ref2 !== void 0 ? ref2 : defaultThresholdColor,
202
+ color: (_ref = (_step_color = step.color) !== null && _step_color !== void 0 ? _step_color : palette[i]) !== null && _ref !== void 0 ? _ref : defaultThresholdColor,
201
203
  value: step.value,
202
204
  mode: thresholds === null || thresholds === void 0 ? void 0 : thresholds.mode,
203
205
  onColorChange: (color)=>handleThresholdColorChange(color, i),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdsEditor.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport produce from 'immer';\nimport { IconButton, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material';\nimport PlusIcon from 'mdi-material-ui/Plus';\nimport { Stack } from '@mui/system';\nimport { ThresholdOptions } from '@perses-dev/core';\nimport { useChartsTheme } from '../context/ChartsThemeProvider';\nimport { OptionsEditorControl, OptionsEditorGroup } from '../OptionsEditorLayout';\nimport { InfoTooltip } from '../InfoTooltip';\nimport { ThresholdColorPicker } from './ThresholdColorPicker';\nimport { ThresholdInput } from './ThresholdInput';\n\nexport interface ThresholdsEditorProps {\n onChange: (thresholds: ThresholdOptions) => void;\n thresholds?: ThresholdOptions;\n hideDefault?: boolean;\n disablePercentMode?: boolean;\n}\n\nconst DEFAULT_STEP = 10;\n\nexport function ThresholdsEditor({ thresholds, onChange, hideDefault, disablePercentMode }: ThresholdsEditorProps) {\n const {\n thresholds: { defaultColor, palette },\n } = useChartsTheme();\n const defaultThresholdColor = thresholds?.default_color ?? defaultColor;\n\n const [steps, setSteps] = useState(thresholds?.steps);\n useEffect(() => {\n setSteps(thresholds?.steps);\n }, [thresholds?.steps]);\n\n // every time a new threshold is added, we want to focus the recently added input\n const recentlyAddedInputRef = useRef<HTMLInputElement | null>(null);\n const focusRef = useRef(false);\n useEffect(() => {\n if (!recentlyAddedInputRef.current || !focusRef.current) return;\n recentlyAddedInputRef.current?.focus();\n focusRef.current = false;\n }, [steps?.length]);\n\n const handleThresholdValueChange = (e: React.ChangeEvent<HTMLInputElement>, i: number) => {\n setSteps(\n produce(steps, (draft) => {\n const step = draft?.[i];\n if (step) {\n step.value = Number(e.target.value);\n }\n })\n );\n };\n\n const handleThresholdColorChange = (color: string, i: number) => {\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n if (draft.steps !== undefined) {\n const step = draft.steps[i];\n if (step) {\n step.color = color;\n }\n }\n })\n );\n }\n };\n\n const handleDefaultColorChange = (color: string) => {\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.default_color = color;\n })\n );\n } else {\n onChange({\n default_color: color,\n });\n }\n };\n\n // sort thresholds in ascending order every time an input blurs\n const handleThresholdBlur = () => {\n if (steps !== undefined) {\n const sortedSteps = [...steps];\n sortedSteps.sort((a, b) => a.value - b.value);\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.steps = sortedSteps;\n })\n );\n }\n }\n };\n\n const deleteThreshold = (i: number): void => {\n if (thresholds !== undefined) {\n const updatedThresholds = produce(thresholds, (draft) => {\n if (draft.steps) {\n draft.steps.splice(i, 1);\n }\n });\n onChange(updatedThresholds);\n }\n };\n\n const addThresholdInput = (): void => {\n focusRef.current = true;\n if (thresholds === undefined) {\n onChange({\n steps: [{ value: DEFAULT_STEP }],\n });\n } else if (thresholds && thresholds.steps === undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.steps = [{ value: DEFAULT_STEP }];\n })\n );\n } else {\n onChange(\n produce(thresholds, (draft) => {\n const steps = draft.steps;\n if (steps?.length) {\n const lastStep = steps[steps.length - 1];\n const color = palette[steps.length] ?? getRandomColor(); // we will assign color from the palette first, then generate random color\n steps.push({ color, value: (lastStep?.value ?? 0) + DEFAULT_STEP }); // set new threshold value to last step value + 10\n } else if (steps) {\n steps.push({ value: DEFAULT_STEP });\n }\n })\n );\n }\n };\n\n const handleModeChange = (event: React.MouseEvent, value: string): void => {\n const mode = value === 'Percent' ? 'Percent' : undefined;\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.mode = mode;\n })\n );\n } else {\n onChange({ mode });\n }\n };\n\n return (\n <OptionsEditorGroup\n title=\"Thresholds\"\n icon={\n <InfoTooltip description={'Add threshold'}>\n <IconButton size=\"small\" aria-label=\"add threshold\" onClick={addThresholdInput}>\n <PlusIcon />\n </IconButton>\n </InfoTooltip>\n }\n >\n <OptionsEditorControl\n label=\"Mode\"\n description=\"Percentage means thresholds relative to min & max\"\n control={\n <ToggleButtonGroup\n exclusive\n disabled={disablePercentMode}\n value={thresholds?.mode ?? 'Absolute'}\n onChange={handleModeChange}\n sx={{ height: '36px', marginLeft: 'auto' }}\n >\n <ToggleButton aria-label=\"absolute\" value=\"Absolute\" sx={{ fontWeight: 500 }}>\n Absolute\n </ToggleButton>\n <ToggleButton aria-label=\"percent\" value=\"Percent\" sx={{ fontWeight: 500 }}>\n Percent\n </ToggleButton>\n </ToggleButtonGroup>\n }\n />\n {steps &&\n steps\n .map((step, i) => (\n <ThresholdInput\n inputRef={i === steps.length - 1 ? recentlyAddedInputRef : undefined}\n key={i}\n label={`T${i + 1}`}\n color={step.color ?? palette[i] ?? defaultThresholdColor}\n value={step.value}\n mode={thresholds?.mode}\n onColorChange={(color) => handleThresholdColorChange(color, i)}\n onChange={(e) => {\n handleThresholdValueChange(e, i);\n }}\n onDelete={() => {\n deleteThreshold(i);\n }}\n onBlur={handleThresholdBlur}\n />\n ))\n .reverse()}\n {!hideDefault && (\n <Stack flex={1} direction=\"row\" alignItems=\"center\" spacing={1}>\n <ThresholdColorPicker\n label=\"default\"\n color={defaultThresholdColor}\n onColorChange={handleDefaultColorChange}\n />\n <Typography>Default</Typography>\n </Stack>\n )}\n </OptionsEditorGroup>\n );\n}\n\n// https://www.paulirish.com/2009/random-hex-color-code-snippets/\nconst getRandomColor = () => {\n return (\n '#' +\n Math.floor(Math.random() * 16777216)\n .toString(16)\n .padStart(6, '0')\n );\n};\n"],"names":["React","useEffect","useRef","useState","produce","IconButton","ToggleButton","ToggleButtonGroup","Typography","PlusIcon","Stack","useChartsTheme","OptionsEditorControl","OptionsEditorGroup","InfoTooltip","ThresholdColorPicker","ThresholdInput","DEFAULT_STEP","ThresholdsEditor","thresholds","onChange","hideDefault","disablePercentMode","defaultColor","palette","defaultThresholdColor","default_color","steps","setSteps","recentlyAddedInputRef","focusRef","current","focus","length","handleThresholdValueChange","e","i","draft","step","value","Number","target","handleThresholdColorChange","color","undefined","handleDefaultColorChange","handleThresholdBlur","sortedSteps","sort","a","b","deleteThreshold","updatedThresholds","splice","addThresholdInput","lastStep","getRandomColor","push","handleModeChange","event","mode","title","icon","description","size","aria-label","onClick","label","control","exclusive","disabled","sx","height","marginLeft","fontWeight","map","inputRef","onColorChange","onDelete","onBlur","reverse","flex","direction","alignItems","spacing","Math","floor","random","toString","padStart"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/ThresholdsEditor/ThresholdsEditor.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport produce from 'immer';\nimport { IconButton, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material';\nimport PlusIcon from 'mdi-material-ui/Plus';\nimport { Stack } from '@mui/system';\nimport { ThresholdOptions } from '@perses-dev/core';\nimport { useChartsTheme } from '../context/ChartsProvider';\nimport { OptionsEditorControl, OptionsEditorGroup } from '../OptionsEditorLayout';\nimport { InfoTooltip } from '../InfoTooltip';\nimport { ThresholdColorPicker } from './ThresholdColorPicker';\nimport { ThresholdInput } from './ThresholdInput';\n\nexport interface ThresholdsEditorProps {\n onChange: (thresholds: ThresholdOptions) => void;\n thresholds?: ThresholdOptions;\n hideDefault?: boolean;\n disablePercentMode?: boolean;\n}\n\nconst DEFAULT_STEP = 10;\n\nexport function ThresholdsEditor({ thresholds, onChange, hideDefault, disablePercentMode }: ThresholdsEditorProps) {\n const chartsTheme = useChartsTheme();\n const {\n thresholds: { defaultColor, palette },\n } = chartsTheme;\n const defaultThresholdColor = thresholds?.defaultColor ?? defaultColor;\n\n const [steps, setSteps] = useState(thresholds?.steps);\n useEffect(() => {\n setSteps(thresholds?.steps);\n }, [thresholds?.steps]);\n\n // every time a new threshold is added, we want to focus the recently added input\n const recentlyAddedInputRef = useRef<HTMLInputElement | null>(null);\n const focusRef = useRef(false);\n useEffect(() => {\n if (!recentlyAddedInputRef.current || !focusRef.current) return;\n recentlyAddedInputRef.current?.focus();\n focusRef.current = false;\n }, [steps?.length]);\n\n const handleThresholdValueChange = (e: React.ChangeEvent<HTMLInputElement>, i: number) => {\n setSteps(\n produce(steps, (draft) => {\n const step = draft?.[i];\n if (step) {\n step.value = Number(e.target.value);\n }\n })\n );\n };\n\n const handleThresholdColorChange = (color: string, i: number) => {\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n if (draft.steps !== undefined) {\n const step = draft.steps[i];\n if (step) {\n step.color = color;\n }\n }\n })\n );\n }\n };\n\n const handleDefaultColorChange = (color: string) => {\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.defaultColor = color;\n })\n );\n } else {\n onChange({\n defaultColor: color,\n });\n }\n };\n\n // sort thresholds in ascending order every time an input blurs\n const handleThresholdBlur = () => {\n if (steps !== undefined) {\n const sortedSteps = [...steps];\n sortedSteps.sort((a, b) => a.value - b.value);\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.steps = sortedSteps;\n })\n );\n }\n }\n };\n\n const deleteThreshold = (i: number): void => {\n if (thresholds !== undefined) {\n const updatedThresholds = produce(thresholds, (draft) => {\n if (draft.steps) {\n draft.steps.splice(i, 1);\n }\n });\n onChange(updatedThresholds);\n }\n };\n\n const addThresholdInput = (): void => {\n focusRef.current = true;\n if (thresholds === undefined) {\n onChange({\n steps: [{ value: DEFAULT_STEP }],\n });\n } else if (thresholds && thresholds.steps === undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.steps = [{ value: DEFAULT_STEP }];\n })\n );\n } else {\n onChange(\n produce(thresholds, (draft) => {\n const steps = draft.steps;\n if (steps?.length) {\n const lastStep = steps[steps.length - 1];\n const color = palette[steps.length] ?? getRandomColor(); // we will assign color from the palette first, then generate random color\n steps.push({ color, value: (lastStep?.value ?? 0) + DEFAULT_STEP }); // set new threshold value to last step value + 10\n } else if (steps) {\n steps.push({ value: DEFAULT_STEP });\n }\n })\n );\n }\n };\n\n const handleModeChange = (event: React.MouseEvent, value: string): void => {\n const mode = value === 'percent' ? 'percent' : undefined;\n if (thresholds !== undefined) {\n onChange(\n produce(thresholds, (draft) => {\n draft.mode = mode;\n })\n );\n } else {\n onChange({ mode });\n }\n };\n\n return (\n <OptionsEditorGroup\n title=\"Thresholds\"\n icon={\n <InfoTooltip description={'Add threshold'}>\n <IconButton size=\"small\" aria-label=\"add threshold\" onClick={addThresholdInput}>\n <PlusIcon />\n </IconButton>\n </InfoTooltip>\n }\n >\n <OptionsEditorControl\n label=\"Mode\"\n description=\"Percentage means thresholds relative to min & max\"\n control={\n <ToggleButtonGroup\n exclusive\n disabled={disablePercentMode}\n value={thresholds?.mode ?? 'absolute'}\n onChange={handleModeChange}\n sx={{ height: '36px', marginLeft: 'auto' }}\n >\n <ToggleButton aria-label=\"absolute\" value=\"absolute\" sx={{ fontWeight: 500 }}>\n Absolute\n </ToggleButton>\n <ToggleButton aria-label=\"percent\" value=\"percent\" sx={{ fontWeight: 500 }}>\n Percent\n </ToggleButton>\n </ToggleButtonGroup>\n }\n />\n {steps &&\n steps\n .map((step, i) => (\n <ThresholdInput\n inputRef={i === steps.length - 1 ? recentlyAddedInputRef : undefined}\n key={i}\n label={`T${i + 1}`}\n color={step.color ?? palette[i] ?? defaultThresholdColor}\n value={step.value}\n mode={thresholds?.mode}\n onColorChange={(color) => handleThresholdColorChange(color, i)}\n onChange={(e) => {\n handleThresholdValueChange(e, i);\n }}\n onDelete={() => {\n deleteThreshold(i);\n }}\n onBlur={handleThresholdBlur}\n />\n ))\n .reverse()}\n {!hideDefault && (\n <Stack flex={1} direction=\"row\" alignItems=\"center\" spacing={1}>\n <ThresholdColorPicker\n label=\"default\"\n color={defaultThresholdColor}\n onColorChange={handleDefaultColorChange}\n />\n <Typography>Default</Typography>\n </Stack>\n )}\n </OptionsEditorGroup>\n );\n}\n\n// https://www.paulirish.com/2009/random-hex-color-code-snippets/\nconst getRandomColor = () => {\n return (\n '#' +\n Math.floor(Math.random() * 16777216)\n .toString(16)\n .padStart(6, '0')\n );\n};\n"],"names":["React","useEffect","useRef","useState","produce","IconButton","ToggleButton","ToggleButtonGroup","Typography","PlusIcon","Stack","useChartsTheme","OptionsEditorControl","OptionsEditorGroup","InfoTooltip","ThresholdColorPicker","ThresholdInput","DEFAULT_STEP","ThresholdsEditor","thresholds","onChange","hideDefault","disablePercentMode","chartsTheme","defaultColor","palette","defaultThresholdColor","steps","setSteps","recentlyAddedInputRef","focusRef","current","focus","length","handleThresholdValueChange","e","i","draft","step","value","Number","target","handleThresholdColorChange","color","undefined","handleDefaultColorChange","handleThresholdBlur","sortedSteps","sort","a","b","deleteThreshold","updatedThresholds","splice","addThresholdInput","lastStep","getRandomColor","push","handleModeChange","event","mode","title","icon","description","size","aria-label","onClick","label","control","exclusive","disabled","sx","height","marginLeft","fontWeight","map","inputRef","onColorChange","onDelete","onBlur","reverse","flex","direction","alignItems","spacing","Math","floor","random","toString","padStart"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ThresholdsEditor/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ThresholdsEditor';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"sources":["../../src/ThresholdsEditor/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ThresholdsEditor';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,qBAAqB"}
@@ -1,7 +1,7 @@
1
1
  import { MouseEvent } from 'react';
2
- import { TimeScale, UnitOptions, TimeSeries } from '@perses-dev/core';
2
+ import { TimeScale, FormatOptions, TimeSeries } from '@perses-dev/core';
3
3
  import type { EChartsCoreOption, GridComponentOption, YAXisComponentOption } from 'echarts';
4
- import { ChartInstance, TimeChartSeriesMapping } from '../model/graph';
4
+ import { ChartInstance, TimeChartSeriesMapping } from '../model';
5
5
  import { ZoomEventData } from '../utils';
6
6
  import { TooltipConfig } from '../TimeSeriesTooltip';
7
7
  export interface TimeChartProps {
@@ -10,7 +10,7 @@ export interface TimeChartProps {
10
10
  seriesMapping: TimeChartSeriesMapping;
11
11
  timeScale?: TimeScale;
12
12
  yAxis?: YAXisComponentOption;
13
- unit?: UnitOptions;
13
+ format?: FormatOptions;
14
14
  grid?: GridComponentOption;
15
15
  tooltipConfig?: TooltipConfig;
16
16
  noDataVariant?: 'chart' | 'message';
@@ -1 +1 @@
1
- {"version":3,"file":"TimeChart.d.ts","sourceRoot":"","sources":["../../src/TimeChart/TimeChart.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAc,UAAU,EAAkD,MAAM,OAAO,CAAC;AAK/F,OAAO,EAAsB,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAgBjB,OAAO,EAEL,aAAa,EACb,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAOL,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAuC,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAkBlH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,aAAa,EAAE,sBAAsB,CAAC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,oCAAoC,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;CAC1F;AAED,eAAO,MAAM,SAAS,0GA+TpB,CAAC"}
1
+ {"version":3,"file":"TimeChart.d.ts","sourceRoot":"","sources":["../../src/TimeChart/TimeChart.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAc,UAAU,EAA6D,MAAM,OAAO,CAAC;AAM1G,OAAO,EAAsB,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAgBjB,OAAO,EAA0B,aAAa,EAAE,sBAAsB,EAA4B,MAAM,UAAU,CAAC;AAEnH,OAAO,EAQL,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAuC,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAkBlH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,aAAa,EAAE,sBAAsB,CAAC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,oCAAoC,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;CAC1F;AAED,eAAO,MAAM,SAAS,0GA6WpB,CAAC"}