@perses-dev/components 0.21.1 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js +1 -1
  2. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js.map +1 -1
  3. package/dist/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  4. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
  5. package/dist/DateTimeRangePicker/TimeRangeSelector.js +1 -1
  6. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +1 -1
  7. package/dist/DateTimeRangePicker/index.js +1 -1
  8. package/dist/DateTimeRangePicker/index.js.map +1 -1
  9. package/dist/DateTimeRangePicker/utils.js +1 -1
  10. package/dist/DateTimeRangePicker/utils.js.map +1 -1
  11. package/dist/Drawer/Drawer.js +1 -1
  12. package/dist/Drawer/Drawer.js.map +1 -1
  13. package/dist/Drawer/index.js +1 -1
  14. package/dist/Drawer/index.js.map +1 -1
  15. package/dist/EChart.js +1 -1
  16. package/dist/EChart.js.map +1 -1
  17. package/dist/ErrorAlert.js +1 -1
  18. package/dist/ErrorAlert.js.map +1 -1
  19. package/dist/ErrorBoundary.js +1 -1
  20. package/dist/ErrorBoundary.js.map +1 -1
  21. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -1
  22. package/dist/GaugeChart/GaugeChart.js +3 -9
  23. package/dist/GaugeChart/GaugeChart.js.map +1 -1
  24. package/dist/GaugeChart/index.js +1 -1
  25. package/dist/GaugeChart/index.js.map +1 -1
  26. package/dist/InfoTooltip/InfoTooltip.d.ts +1 -6
  27. package/dist/InfoTooltip/InfoTooltip.d.ts.map +1 -1
  28. package/dist/InfoTooltip/InfoTooltip.js +2 -9
  29. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  30. package/dist/InfoTooltip/InfoTooltip.test.js +1 -1
  31. package/dist/InfoTooltip/InfoTooltip.test.js.map +1 -1
  32. package/dist/InfoTooltip/index.js +1 -1
  33. package/dist/InfoTooltip/index.js.map +1 -1
  34. package/dist/JSONEditor.d.ts +5 -4
  35. package/dist/JSONEditor.d.ts.map +1 -1
  36. package/dist/JSONEditor.js +21 -16
  37. package/dist/JSONEditor.js.map +1 -1
  38. package/dist/Legend/CompactLegend.js +1 -1
  39. package/dist/Legend/CompactLegend.js.map +1 -1
  40. package/dist/Legend/Legend.d.ts.map +1 -1
  41. package/dist/Legend/Legend.js +18 -6
  42. package/dist/Legend/Legend.js.map +1 -1
  43. package/dist/Legend/LegendColorBadge.js +1 -1
  44. package/dist/Legend/LegendColorBadge.js.map +1 -1
  45. package/dist/Legend/ListLegend.js +1 -1
  46. package/dist/Legend/ListLegend.js.map +1 -1
  47. package/dist/Legend/ListLegendItem.js +1 -1
  48. package/dist/Legend/ListLegendItem.js.map +1 -1
  49. package/dist/Legend/index.js +1 -1
  50. package/dist/Legend/index.js.map +1 -1
  51. package/dist/LegendOptionsEditor/LegendOptionsEditor.d.ts.map +1 -1
  52. package/dist/LegendOptionsEditor/LegendOptionsEditor.js +13 -18
  53. package/dist/LegendOptionsEditor/LegendOptionsEditor.js.map +1 -1
  54. package/dist/LegendOptionsEditor/LegendOptionsEditor.test.js +23 -2
  55. package/dist/LegendOptionsEditor/LegendOptionsEditor.test.js.map +1 -1
  56. package/dist/LegendOptionsEditor/index.js +1 -1
  57. package/dist/LegendOptionsEditor/index.js.map +1 -1
  58. package/dist/LineChart/LineChart.js +3 -3
  59. package/dist/LineChart/LineChart.js.map +1 -1
  60. package/dist/LineChart/index.js +1 -1
  61. package/dist/LineChart/index.js.map +1 -1
  62. package/dist/LineChart/utils.js +1 -1
  63. package/dist/LineChart/utils.js.map +1 -1
  64. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  65. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  66. package/dist/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  67. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  68. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  69. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  70. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +1 -1
  71. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  72. package/dist/OptionsEditorLayout/index.js +1 -1
  73. package/dist/OptionsEditorLayout/index.js.map +1 -1
  74. package/dist/StatChart/StatChart.js +1 -1
  75. package/dist/StatChart/StatChart.js.map +1 -1
  76. package/dist/StatChart/StatChart.test.js +1 -1
  77. package/dist/StatChart/StatChart.test.js.map +1 -1
  78. package/dist/StatChart/index.js +1 -1
  79. package/dist/StatChart/index.js.map +1 -1
  80. package/dist/{Tooltip → TimeSeriesTooltip}/SeriesInfo.d.ts +1 -2
  81. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts.map +1 -0
  82. package/dist/TimeSeriesTooltip/SeriesInfo.js +89 -0
  83. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -0
  84. package/dist/TimeSeriesTooltip/SeriesInfo.test.d.ts +2 -0
  85. package/dist/TimeSeriesTooltip/SeriesInfo.test.d.ts.map +1 -0
  86. package/dist/TimeSeriesTooltip/SeriesInfo.test.js +52 -0
  87. package/dist/TimeSeriesTooltip/SeriesInfo.test.js.map +1 -0
  88. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts +9 -0
  89. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts.map +1 -0
  90. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js +99 -0
  91. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -0
  92. package/dist/{Tooltip → TimeSeriesTooltip}/SeriesMarker.d.ts +2 -1
  93. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts.map +1 -0
  94. package/dist/{Tooltip → TimeSeriesTooltip}/SeriesMarker.js +7 -7
  95. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -0
  96. package/dist/{Tooltip/Tooltip.d.ts → TimeSeriesTooltip/TimeSeriesTooltip.d.ts} +4 -4
  97. package/dist/TimeSeriesTooltip/TimeSeriesTooltip.d.ts.map +1 -0
  98. package/dist/{Tooltip/Tooltip.js → TimeSeriesTooltip/TimeSeriesTooltip.js} +3 -4
  99. package/dist/TimeSeriesTooltip/TimeSeriesTooltip.js.map +1 -0
  100. package/dist/{Tooltip → TimeSeriesTooltip}/TooltipContent.d.ts +1 -2
  101. package/dist/TimeSeriesTooltip/TooltipContent.d.ts.map +1 -0
  102. package/dist/{Tooltip → TimeSeriesTooltip}/TooltipContent.js +1 -1
  103. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -0
  104. package/dist/TimeSeriesTooltip/TooltipContent.test.d.ts +2 -0
  105. package/dist/TimeSeriesTooltip/TooltipContent.test.d.ts.map +1 -0
  106. package/dist/TimeSeriesTooltip/TooltipContent.test.js +78 -0
  107. package/dist/TimeSeriesTooltip/TooltipContent.test.js.map +1 -0
  108. package/dist/{Tooltip → TimeSeriesTooltip}/focused-series.d.ts +0 -0
  109. package/dist/TimeSeriesTooltip/focused-series.d.ts.map +1 -0
  110. package/dist/{Tooltip → TimeSeriesTooltip}/focused-series.js +3 -3
  111. package/dist/TimeSeriesTooltip/focused-series.js.map +1 -0
  112. package/dist/{Tooltip → TimeSeriesTooltip}/focused-series.test.d.ts +0 -0
  113. package/dist/TimeSeriesTooltip/focused-series.test.d.ts.map +1 -0
  114. package/dist/{Tooltip → TimeSeriesTooltip}/focused-series.test.js +1 -1
  115. package/dist/TimeSeriesTooltip/focused-series.test.js.map +1 -0
  116. package/dist/TimeSeriesTooltip/index.d.ts +9 -0
  117. package/dist/TimeSeriesTooltip/index.d.ts.map +1 -0
  118. package/dist/{Tooltip → TimeSeriesTooltip}/index.js +8 -2
  119. package/dist/TimeSeriesTooltip/index.js.map +1 -0
  120. package/dist/{Tooltip → TimeSeriesTooltip}/tooltip-model.d.ts +0 -0
  121. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -0
  122. package/dist/{Tooltip → TimeSeriesTooltip}/tooltip-model.js +1 -1
  123. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -0
  124. package/dist/{Tooltip → TimeSeriesTooltip}/utils.d.ts +0 -0
  125. package/dist/TimeSeriesTooltip/utils.d.ts.map +1 -0
  126. package/dist/{Tooltip → TimeSeriesTooltip}/utils.js +1 -1
  127. package/dist/TimeSeriesTooltip/utils.js.map +1 -0
  128. package/dist/UnitSelector/UnitSelector.js +1 -1
  129. package/dist/UnitSelector/UnitSelector.js.map +1 -1
  130. package/dist/UnitSelector/UnitSelector.test.js +1 -1
  131. package/dist/UnitSelector/UnitSelector.test.js.map +1 -1
  132. package/dist/UnitSelector/index.js +1 -1
  133. package/dist/UnitSelector/index.js.map +1 -1
  134. package/dist/YAxisLabel.js +1 -1
  135. package/dist/YAxisLabel.js.map +1 -1
  136. package/dist/cjs/DateTimeRangePicker/AbsoluteTimePicker.js +1 -1
  137. package/dist/cjs/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  138. package/dist/cjs/DateTimeRangePicker/TimeRangeSelector.js +1 -1
  139. package/dist/cjs/DateTimeRangePicker/index.js +1 -1
  140. package/dist/cjs/DateTimeRangePicker/utils.js +1 -1
  141. package/dist/cjs/Drawer/Drawer.js +1 -1
  142. package/dist/cjs/Drawer/index.js +1 -1
  143. package/dist/cjs/EChart.js +1 -1
  144. package/dist/cjs/ErrorAlert.js +1 -1
  145. package/dist/cjs/ErrorBoundary.js +1 -1
  146. package/dist/cjs/GaugeChart/GaugeChart.js +3 -9
  147. package/dist/cjs/GaugeChart/index.js +1 -1
  148. package/dist/cjs/InfoTooltip/InfoTooltip.js +5 -18
  149. package/dist/cjs/InfoTooltip/InfoTooltip.test.js +1 -1
  150. package/dist/cjs/InfoTooltip/index.js +1 -1
  151. package/dist/cjs/JSONEditor.js +25 -15
  152. package/dist/cjs/Legend/CompactLegend.js +1 -1
  153. package/dist/cjs/Legend/Legend.js +17 -5
  154. package/dist/cjs/Legend/LegendColorBadge.js +1 -1
  155. package/dist/cjs/Legend/ListLegend.js +1 -1
  156. package/dist/cjs/Legend/ListLegendItem.js +1 -1
  157. package/dist/cjs/Legend/index.js +1 -1
  158. package/dist/cjs/LegendOptionsEditor/LegendOptionsEditor.js +13 -18
  159. package/dist/cjs/LegendOptionsEditor/LegendOptionsEditor.test.js +23 -2
  160. package/dist/cjs/LegendOptionsEditor/index.js +1 -1
  161. package/dist/cjs/LineChart/LineChart.js +3 -3
  162. package/dist/cjs/LineChart/index.js +1 -1
  163. package/dist/cjs/LineChart/utils.js +1 -1
  164. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  165. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  166. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  167. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +1 -1
  168. package/dist/cjs/OptionsEditorLayout/index.js +1 -1
  169. package/dist/cjs/StatChart/StatChart.js +1 -1
  170. package/dist/cjs/StatChart/StatChart.test.js +1 -1
  171. package/dist/cjs/StatChart/index.js +1 -1
  172. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.js +95 -0
  173. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.test.js +54 -0
  174. package/dist/cjs/TimeSeriesTooltip/SeriesLabelsStack.js +105 -0
  175. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/SeriesMarker.js +7 -7
  176. package/dist/cjs/{Tooltip/Tooltip.js → TimeSeriesTooltip/TimeSeriesTooltip.js} +4 -4
  177. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/TooltipContent.js +1 -1
  178. package/dist/cjs/TimeSeriesTooltip/TooltipContent.test.js +80 -0
  179. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/focused-series.js +3 -3
  180. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/focused-series.test.js +1 -1
  181. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/index.js +8 -2
  182. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/tooltip-model.js +1 -1
  183. package/dist/cjs/{Tooltip → TimeSeriesTooltip}/utils.js +1 -1
  184. package/dist/cjs/UnitSelector/UnitSelector.js +1 -1
  185. package/dist/cjs/UnitSelector/UnitSelector.test.js +1 -1
  186. package/dist/cjs/UnitSelector/index.js +1 -1
  187. package/dist/cjs/YAxisLabel.js +1 -1
  188. package/dist/cjs/context/ChartsThemeProvider.js +1 -1
  189. package/dist/cjs/context/TimeZoneProvider.js +1 -1
  190. package/dist/cjs/index.js +2 -1
  191. package/dist/cjs/model/graph.js +4 -15
  192. package/dist/cjs/model/index.js +2 -1
  193. package/dist/cjs/model/legend.js +67 -0
  194. package/dist/cjs/model/legend.test.js +29 -0
  195. package/dist/cjs/model/theme.js +1 -1
  196. package/dist/cjs/model/units/bytes.js +1 -1
  197. package/dist/cjs/model/units/constants.js +1 -1
  198. package/dist/cjs/model/units/decimal.js +1 -1
  199. package/dist/cjs/model/units/index.js +1 -1
  200. package/dist/cjs/model/units/percent.js +1 -1
  201. package/dist/cjs/model/units/time.js +1 -1
  202. package/dist/cjs/model/units/types.js +1 -1
  203. package/dist/cjs/model/units/units.js +1 -1
  204. package/dist/cjs/model/units/units.test.js +5 -6
  205. package/dist/cjs/test/index.js +1 -1
  206. package/dist/cjs/test/render.js +1 -1
  207. package/dist/cjs/test/setup-tests.js +1 -1
  208. package/dist/cjs/test-utils/index.js +1 -1
  209. package/dist/cjs/test-utils/theme.js +1 -1
  210. package/dist/cjs/theme/index.js +1 -1
  211. package/dist/cjs/theme/palette/background.js +1 -1
  212. package/dist/cjs/theme/palette/colors/blue.js +1 -1
  213. package/dist/cjs/theme/palette/colors/common.js +1 -1
  214. package/dist/cjs/theme/palette/colors/green.js +1 -1
  215. package/dist/cjs/theme/palette/colors/grey.js +1 -1
  216. package/dist/cjs/theme/palette/colors/index.js +1 -1
  217. package/dist/cjs/theme/palette/colors/orange.js +1 -1
  218. package/dist/cjs/theme/palette/colors/purple.js +1 -1
  219. package/dist/cjs/theme/palette/colors/red.js +1 -1
  220. package/dist/cjs/theme/palette/colors/types.js +1 -1
  221. package/dist/cjs/theme/palette/error.js +1 -1
  222. package/dist/cjs/theme/palette/grey.js +1 -1
  223. package/dist/cjs/theme/palette/index.js +1 -1
  224. package/dist/cjs/theme/palette/palette-options.js +1 -1
  225. package/dist/cjs/theme/palette/primary.js +1 -1
  226. package/dist/cjs/theme/palette/secondary.js +1 -1
  227. package/dist/cjs/theme/palette/success.js +1 -1
  228. package/dist/cjs/theme/palette/text.js +1 -1
  229. package/dist/cjs/theme/palette/warning.js +1 -1
  230. package/dist/cjs/theme/theme.js +12 -1
  231. package/dist/cjs/theme/types/ThemeExtension.d.js +1 -1
  232. package/dist/cjs/theme/typography.js +1 -1
  233. package/dist/cjs/utils/combine-sx.js +1 -1
  234. package/dist/cjs/utils/component-ids.js +1 -1
  235. package/dist/cjs/utils/format.js +1 -1
  236. package/dist/cjs/utils/format.test.js +1 -1
  237. package/dist/cjs/utils/index.js +1 -1
  238. package/dist/cjs/utils/mathjs.js +1 -1
  239. package/dist/cjs/utils/theme-gen.js +1 -1
  240. package/dist/cjs/utils/theme-gen.test.js +1 -1
  241. package/dist/context/ChartsThemeProvider.js +1 -1
  242. package/dist/context/ChartsThemeProvider.js.map +1 -1
  243. package/dist/context/TimeZoneProvider.js +1 -1
  244. package/dist/context/TimeZoneProvider.js.map +1 -1
  245. package/dist/index.d.ts +1 -0
  246. package/dist/index.d.ts.map +1 -1
  247. package/dist/index.js +2 -1
  248. package/dist/index.js.map +1 -1
  249. package/dist/model/graph.d.ts +1 -16
  250. package/dist/model/graph.d.ts.map +1 -1
  251. package/dist/model/graph.js +1 -5
  252. package/dist/model/graph.js.map +1 -1
  253. package/dist/model/index.d.ts +1 -0
  254. package/dist/model/index.d.ts.map +1 -1
  255. package/dist/model/index.js +2 -1
  256. package/dist/model/index.js.map +1 -1
  257. package/dist/model/legend.d.ts +22 -0
  258. package/dist/model/legend.d.ts.map +1 -0
  259. package/dist/model/legend.js +51 -0
  260. package/dist/model/legend.js.map +1 -0
  261. package/dist/model/legend.test.d.ts +2 -0
  262. package/dist/model/legend.test.d.ts.map +1 -0
  263. package/dist/model/legend.test.js +27 -0
  264. package/dist/model/legend.test.js.map +1 -0
  265. package/dist/model/theme.js +1 -1
  266. package/dist/model/theme.js.map +1 -1
  267. package/dist/model/units/bytes.js +1 -1
  268. package/dist/model/units/bytes.js.map +1 -1
  269. package/dist/model/units/constants.js +1 -1
  270. package/dist/model/units/constants.js.map +1 -1
  271. package/dist/model/units/decimal.js +1 -1
  272. package/dist/model/units/decimal.js.map +1 -1
  273. package/dist/model/units/index.js +1 -1
  274. package/dist/model/units/index.js.map +1 -1
  275. package/dist/model/units/percent.js +1 -1
  276. package/dist/model/units/percent.js.map +1 -1
  277. package/dist/model/units/time.js +1 -1
  278. package/dist/model/units/time.js.map +1 -1
  279. package/dist/model/units/types.js +1 -1
  280. package/dist/model/units/types.js.map +1 -1
  281. package/dist/model/units/units.js +1 -1
  282. package/dist/model/units/units.js.map +1 -1
  283. package/dist/model/units/units.test.js +5 -6
  284. package/dist/model/units/units.test.js.map +1 -1
  285. package/dist/test/index.js +1 -1
  286. package/dist/test/index.js.map +1 -1
  287. package/dist/test/render.js +1 -1
  288. package/dist/test/render.js.map +1 -1
  289. package/dist/test/setup-tests.js +1 -1
  290. package/dist/test/setup-tests.js.map +1 -1
  291. package/dist/test-utils/index.js +1 -1
  292. package/dist/test-utils/index.js.map +1 -1
  293. package/dist/test-utils/theme.js +1 -1
  294. package/dist/test-utils/theme.js.map +1 -1
  295. package/dist/theme/index.js +1 -1
  296. package/dist/theme/index.js.map +1 -1
  297. package/dist/theme/palette/background.js +1 -1
  298. package/dist/theme/palette/background.js.map +1 -1
  299. package/dist/theme/palette/colors/blue.js +1 -1
  300. package/dist/theme/palette/colors/blue.js.map +1 -1
  301. package/dist/theme/palette/colors/common.js +1 -1
  302. package/dist/theme/palette/colors/common.js.map +1 -1
  303. package/dist/theme/palette/colors/green.js +1 -1
  304. package/dist/theme/palette/colors/green.js.map +1 -1
  305. package/dist/theme/palette/colors/grey.js +1 -1
  306. package/dist/theme/palette/colors/grey.js.map +1 -1
  307. package/dist/theme/palette/colors/index.js +1 -1
  308. package/dist/theme/palette/colors/index.js.map +1 -1
  309. package/dist/theme/palette/colors/orange.js +1 -1
  310. package/dist/theme/palette/colors/orange.js.map +1 -1
  311. package/dist/theme/palette/colors/purple.js +1 -1
  312. package/dist/theme/palette/colors/purple.js.map +1 -1
  313. package/dist/theme/palette/colors/red.js +1 -1
  314. package/dist/theme/palette/colors/red.js.map +1 -1
  315. package/dist/theme/palette/colors/types.js +1 -1
  316. package/dist/theme/palette/colors/types.js.map +1 -1
  317. package/dist/theme/palette/error.js +1 -1
  318. package/dist/theme/palette/error.js.map +1 -1
  319. package/dist/theme/palette/grey.js +1 -1
  320. package/dist/theme/palette/grey.js.map +1 -1
  321. package/dist/theme/palette/index.js +1 -1
  322. package/dist/theme/palette/index.js.map +1 -1
  323. package/dist/theme/palette/palette-options.js +1 -1
  324. package/dist/theme/palette/palette-options.js.map +1 -1
  325. package/dist/theme/palette/primary.js +1 -1
  326. package/dist/theme/palette/primary.js.map +1 -1
  327. package/dist/theme/palette/secondary.js +1 -1
  328. package/dist/theme/palette/secondary.js.map +1 -1
  329. package/dist/theme/palette/success.js +1 -1
  330. package/dist/theme/palette/success.js.map +1 -1
  331. package/dist/theme/palette/text.js +1 -1
  332. package/dist/theme/palette/text.js.map +1 -1
  333. package/dist/theme/palette/warning.js +1 -1
  334. package/dist/theme/palette/warning.js.map +1 -1
  335. package/dist/theme/theme.d.ts.map +1 -1
  336. package/dist/theme/theme.js +13 -2
  337. package/dist/theme/theme.js.map +1 -1
  338. package/dist/theme/types/ThemeExtension.d.js +1 -1
  339. package/dist/theme/types/ThemeExtension.d.js.map +1 -1
  340. package/dist/theme/typography.js +1 -1
  341. package/dist/theme/typography.js.map +1 -1
  342. package/dist/utils/combine-sx.js +1 -1
  343. package/dist/utils/combine-sx.js.map +1 -1
  344. package/dist/utils/component-ids.js +1 -1
  345. package/dist/utils/component-ids.js.map +1 -1
  346. package/dist/utils/format.js +1 -1
  347. package/dist/utils/format.js.map +1 -1
  348. package/dist/utils/format.test.js +1 -1
  349. package/dist/utils/format.test.js.map +1 -1
  350. package/dist/utils/index.js +1 -1
  351. package/dist/utils/index.js.map +1 -1
  352. package/dist/utils/mathjs.js +1 -1
  353. package/dist/utils/mathjs.js.map +1 -1
  354. package/dist/utils/theme-gen.js +1 -1
  355. package/dist/utils/theme-gen.js.map +1 -1
  356. package/dist/utils/theme-gen.test.js +1 -1
  357. package/dist/utils/theme-gen.test.js.map +1 -1
  358. package/package.json +4 -2
  359. package/dist/Tooltip/SeriesInfo.d.ts.map +0 -1
  360. package/dist/Tooltip/SeriesInfo.js +0 -143
  361. package/dist/Tooltip/SeriesInfo.js.map +0 -1
  362. package/dist/Tooltip/SeriesMarker.d.ts.map +0 -1
  363. package/dist/Tooltip/SeriesMarker.js.map +0 -1
  364. package/dist/Tooltip/Tooltip.d.ts.map +0 -1
  365. package/dist/Tooltip/Tooltip.js.map +0 -1
  366. package/dist/Tooltip/TooltipContent.d.ts.map +0 -1
  367. package/dist/Tooltip/TooltipContent.js.map +0 -1
  368. package/dist/Tooltip/focused-series.d.ts.map +0 -1
  369. package/dist/Tooltip/focused-series.js.map +0 -1
  370. package/dist/Tooltip/focused-series.test.d.ts.map +0 -1
  371. package/dist/Tooltip/focused-series.test.js.map +0 -1
  372. package/dist/Tooltip/index.d.ts +0 -3
  373. package/dist/Tooltip/index.d.ts.map +0 -1
  374. package/dist/Tooltip/index.js.map +0 -1
  375. package/dist/Tooltip/tooltip-model.d.ts.map +0 -1
  376. package/dist/Tooltip/tooltip-model.js.map +0 -1
  377. package/dist/Tooltip/utils.d.ts.map +0 -1
  378. package/dist/Tooltip/utils.js.map +0 -1
  379. package/dist/cjs/Tooltip/SeriesInfo.js +0 -149
@@ -0,0 +1,54 @@
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
+ const _jsxRuntime = require("react/jsx-runtime");
18
+ const _react = require("@testing-library/react");
19
+ const _dom = require("@testing-library/dom");
20
+ const _seriesInfo = require("./SeriesInfo");
21
+ describe('SeriesInfo', ()=>{
22
+ const renderComponent = (props)=>{
23
+ (0, _react.render)(/*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesInfo.SeriesInfo, {
24
+ ...props
25
+ }));
26
+ };
27
+ it('render metric __name__ beside formattedY value', ()=>{
28
+ const seriesInfo = {
29
+ seriesName: 'node_load1{env="demo",instance="demo.do.prometheus.io:9100",job="node"}',
30
+ y: 0.28,
31
+ formattedY: '28.0%',
32
+ markerColor: 'hsla(1016196180,50%,50%,0.8)',
33
+ totalSeries: 1,
34
+ wrapLabels: true
35
+ };
36
+ renderComponent(seriesInfo);
37
+ expect(_dom.screen.getByText('node_load1:')).toBeInTheDocument();
38
+ expect(_dom.screen.getByText('28.0%')).toBeInTheDocument();
39
+ expect(_dom.screen.getByText('demo.do.prometheus.io:9100')).toBeInTheDocument(); // TODO: remove quotes
40
+ });
41
+ it('render preformatted series name beside formattedY value', ()=>{
42
+ const seriesInfo = {
43
+ seriesName: 'Node memory total',
44
+ y: 552341504,
45
+ formattedY: '526.75 MB',
46
+ markerColor: 'hsla(-1756459732,50%,50%,0.8)',
47
+ totalSeries: 2,
48
+ wrapLabels: true
49
+ };
50
+ renderComponent(seriesInfo);
51
+ expect(_dom.screen.getByText('Node memory total')).toBeInTheDocument();
52
+ expect(_dom.screen.getByText('526.75 MB')).toBeInTheDocument();
53
+ });
54
+ });
@@ -0,0 +1,105 @@
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, "SeriesLabelsStack", {
18
+ enumerable: true,
19
+ get: ()=>SeriesLabelsStack
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ const _seriesMarker = require("./SeriesMarker");
24
+ function SeriesLabelsStack(props) {
25
+ const { formattedY , markerColor , metricName , metricLabels } = props;
26
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
27
+ spacing: 0.5,
28
+ children: [
29
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
30
+ sx: (theme)=>({
31
+ display: 'flex',
32
+ height: '16px',
33
+ flexDirection: 'row',
34
+ alignItems: 'center',
35
+ justifyContent: 'left',
36
+ color: theme.palette.common.white,
37
+ fontSize: '11px'
38
+ }),
39
+ children: [
40
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesMarker.SeriesMarker, {
41
+ markerColor: markerColor,
42
+ sx: {
43
+ marginTop: 0.25
44
+ }
45
+ }),
46
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
47
+ component: "span",
48
+ children: [
49
+ metricName,
50
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
51
+ component: "span",
52
+ sx: (theme)=>({
53
+ color: theme.palette.common.white,
54
+ fontWeight: 700,
55
+ paddingLeft: '2px'
56
+ }),
57
+ children: formattedY
58
+ })
59
+ ]
60
+ })
61
+ ]
62
+ }),
63
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Divider, {
64
+ sx: (theme)=>({
65
+ borderColor: theme.palette.grey['500']
66
+ })
67
+ }),
68
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
69
+ sx: (theme)=>({
70
+ color: theme.palette.common.white
71
+ }),
72
+ children: metricLabels.map((label)=>{
73
+ // show labels on separate lines when many labels and only one focused series
74
+ if (label) {
75
+ const [name, value] = label.split('=');
76
+ const formattedName = value !== undefined ? `${name}: ` : name;
77
+ const formattedValue = value !== undefined ? value.replace(/(^"|"$)/g, '') : value;
78
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
79
+ sx: {
80
+ display: 'flex',
81
+ gap: '4px'
82
+ },
83
+ children: [
84
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
85
+ sx: {
86
+ fontSize: '11px'
87
+ },
88
+ children: formattedName
89
+ }),
90
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
91
+ sx: (theme)=>({
92
+ color: theme.palette.common.white,
93
+ fontWeight: 700,
94
+ fontSize: '11px'
95
+ }),
96
+ children: formattedValue
97
+ })
98
+ ]
99
+ }, label);
100
+ }
101
+ })
102
+ })
103
+ ]
104
+ });
105
+ }
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -20,18 +20,18 @@ Object.defineProperty(exports, "SeriesMarker", {
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _material = require("@mui/material");
23
+ const _utils = require("../utils");
23
24
  function SeriesMarker(props) {
24
- const { markerColor } = props;
25
+ const { markerColor , sx } = props;
25
26
  return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
26
- sx: {
27
+ sx: (0, _utils.combineSx)({
27
28
  display: 'inline-block',
28
- width: '12px',
29
+ width: '11px',
30
+ height: '11px',
29
31
  borderRadius: '2px',
30
- height: '12px',
31
- marginTop: 0.25,
32
32
  marginRight: 1,
33
33
  verticalAlign: 'top'
34
- },
34
+ }, sx),
35
35
  style: {
36
36
  backgroundColor: markerColor
37
37
  }
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -14,9 +14,9 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "Tooltip", {
17
+ Object.defineProperty(exports, "TimeSeriesTooltip", {
18
18
  enumerable: true,
19
- get: ()=>Tooltip
19
+ get: ()=>TimeSeriesTooltip
20
20
  });
21
21
  const _jsxRuntime = require("react/jsx-runtime");
22
22
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
@@ -64,7 +64,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
64
64
  }
65
65
  return newObj;
66
66
  }
67
- const Tooltip = /*#__PURE__*/ _react.default.memo(function Tooltip({ chartRef , chartData , wrapLabels , pinTooltip , unit }) {
67
+ const TimeSeriesTooltip = /*#__PURE__*/ _react.default.memo(function TimeSeriesTooltip({ chartRef , chartData , wrapLabels , pinTooltip , unit }) {
68
68
  const [pinnedPos, setPinnedPos] = (0, _react.useState)(null);
69
69
  const mousePos = (0, _tooltipModel.useMousePosition)();
70
70
  if (mousePos === null || mousePos.target === null) return null;
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -0,0 +1,80 @@
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
+ const _jsxRuntime = require("react/jsx-runtime");
18
+ const _react = require("@testing-library/react");
19
+ const _dom = require("@testing-library/dom");
20
+ const _tooltipContent = require("./TooltipContent");
21
+ describe('TooltipContent', ()=>{
22
+ const renderComponent = (props)=>{
23
+ (0, _react.render)(/*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipContent.TooltipContent, {
24
+ ...props
25
+ }));
26
+ };
27
+ it('render tooltip content with a single series name', ()=>{
28
+ const tooltipContent = {
29
+ focusedSeries: [
30
+ {
31
+ seriesIdx: 0,
32
+ datumIdx: 84,
33
+ seriesName: 'Test node demo.do.prometheus.io:9100',
34
+ date: 'Dec 23, 2022, 1:53:00 PM',
35
+ x: 1671821580000,
36
+ y: 0.1,
37
+ formattedY: '0.1',
38
+ markerColor: 'hsla(19838016,50%,50%,0.8)'
39
+ }
40
+ ],
41
+ wrapLabels: true
42
+ };
43
+ renderComponent(tooltipContent);
44
+ expect(_dom.screen.getByText('Test node demo.do.prometheus.io:9100')).toBeInTheDocument();
45
+ expect(_dom.screen.getByText('Dec 23, 2022 -')).toBeInTheDocument();
46
+ expect(_dom.screen.getByText('13:53:00')).toBeInTheDocument();
47
+ expect(_dom.screen.getByText('0.1')).toBeInTheDocument();
48
+ });
49
+ it('render tooltip content with multiple series data', ()=>{
50
+ const tooltipContent = {
51
+ focusedSeries: [
52
+ {
53
+ seriesIdx: 2,
54
+ datumIdx: 48,
55
+ seriesName: 'node_memory_MemFree_bytes{env="demo",instance="demo.do.prometheus.io:9100",job="node"}',
56
+ date: 'Dec 23, 2022, 1:44:00 PM',
57
+ x: 1671821040000,
58
+ y: 84635648,
59
+ formattedY: '84.64M',
60
+ markerColor: 'hsla(1887856572,50%,50%,0.8)'
61
+ },
62
+ {
63
+ seriesIdx: 1,
64
+ datumIdx: 48,
65
+ seriesName: 'node_memory_Buffers_bytes{env="demo",instance="demo.do.prometheus.io:9100",job="node"}',
66
+ date: 'Dec 23, 2022, 1:44:00 PM',
67
+ x: 1671821040000,
68
+ y: 33771520,
69
+ formattedY: '33.77M',
70
+ markerColor: 'hsla(158479636,50%,50%,0.8)'
71
+ }
72
+ ],
73
+ wrapLabels: true
74
+ };
75
+ renderComponent(tooltipContent);
76
+ expect(_dom.screen.getByText('84.64M')).toBeInTheDocument();
77
+ expect(_dom.screen.getByText('33.77M')).toBeInTheDocument();
78
+ expect(_dom.screen.getAllByText('env="demo", instance="demo.do.prometheus.io:9100", job="node"')).toHaveLength(2);
79
+ });
80
+ });
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -99,9 +99,9 @@ function getFocusedSeriesData(mousePos, chartData, pinnedPos, chart, unit) {
99
99
  if (chart['_model'] === undefined) return [];
100
100
  const chartModel = chart['_model'];
101
101
  const yAxisInterval = chartModel.getComponent('yAxis').axis.scale._interval;
102
+ // tooltip trigger area gets smaller with more series, increase yAxisInterval multiplier to expand nearby series range
102
103
  const seriesNum = chartData.timeSeries.length;
103
- // tooltip trigger area gets smaller with more series
104
- const yBuffer = seriesNum > _tooltipModel.TOOLTIP_MAX_ITEMS ? yAxisInterval * 0.5 : yAxisInterval * 2;
104
+ const yBuffer = seriesNum > _tooltipModel.TOOLTIP_MAX_ITEMS ? yAxisInterval * 0.5 : yAxisInterval * 5;
105
105
  var _x, _y;
106
106
  const pointInPixel = [
107
107
  (_x = mousePos.plotCanvas.x) !== null && _x !== void 0 ? _x : 0,
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -14,8 +14,14 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./Tooltip"), exports);
17
+ _exportStar(require("./TimeSeriesTooltip"), exports);
18
+ _exportStar(require("./SeriesInfo"), exports);
19
+ _exportStar(require("./SeriesLabelsStack"), exports);
18
20
  _exportStar(require("./SeriesMarker"), exports);
21
+ _exportStar(require("./TooltipContent"), exports);
22
+ _exportStar(require("./focused-series"), exports);
23
+ _exportStar(require("./tooltip-model"), exports);
24
+ _exportStar(require("./utils"), exports);
19
25
  function _exportStar(from, to) {
20
26
  Object.keys(from).forEach(function(k) {
21
27
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
package/dist/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -27,6 +27,7 @@ _exportStar(require("./LegendOptionsEditor"), exports);
27
27
  _exportStar(require("./LineChart"), exports);
28
28
  _exportStar(require("./OptionsEditorLayout"), exports);
29
29
  _exportStar(require("./StatChart"), exports);
30
+ _exportStar(require("./TimeSeriesTooltip"), exports);
30
31
  _exportStar(require("./UnitSelector"), exports);
31
32
  _exportStar(require("./YAxisLabel"), exports);
32
33
  _exportStar(require("./context/ChartsThemeProvider"), exports);
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -14,19 +14,8 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
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
- OPTIMIZED_MODE_SERIES_LIMIT: ()=>OPTIMIZED_MODE_SERIES_LIMIT,
25
- DEFAULT_LEGEND_POSITION: ()=>DEFAULT_LEGEND_POSITION,
26
- DEFAULT_LEGEND: ()=>DEFAULT_LEGEND
17
+ Object.defineProperty(exports, "OPTIMIZED_MODE_SERIES_LIMIT", {
18
+ enumerable: true,
19
+ get: ()=>OPTIMIZED_MODE_SERIES_LIMIT
27
20
  });
28
21
  const OPTIMIZED_MODE_SERIES_LIMIT = 1000;
29
- const DEFAULT_LEGEND_POSITION = 'bottom';
30
- const DEFAULT_LEGEND = {
31
- position: DEFAULT_LEGEND_POSITION
32
- };
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  _exportStar(require("./graph"), exports);
18
+ _exportStar(require("./legend"), exports);
18
19
  _exportStar(require("./theme"), exports);
19
20
  _exportStar(require("./units"), exports);
20
21
  function _exportStar(from, to) {
@@ -0,0 +1,67 @@
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
+ 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
+ legendPositions: ()=>legendPositions,
25
+ LEGEND_POSITIONS_CONFIG: ()=>LEGEND_POSITIONS_CONFIG,
26
+ DEFAULT_LEGEND: ()=>DEFAULT_LEGEND,
27
+ getLegendPosition: ()=>getLegendPosition,
28
+ isValidLegendPosition: ()=>isValidLegendPosition,
29
+ validateLegendSpec: ()=>validateLegendSpec
30
+ });
31
+ const legendPositions = [
32
+ 'Bottom',
33
+ 'Right'
34
+ ];
35
+ const LEGEND_POSITIONS_CONFIG = {
36
+ Bottom: {
37
+ label: 'Bottom'
38
+ },
39
+ Right: {
40
+ label: 'Right'
41
+ }
42
+ };
43
+ const DEFAULT_LEGEND = {
44
+ position: 'Bottom'
45
+ };
46
+ function getLegendPosition(position) {
47
+ if (position === undefined) {
48
+ return DEFAULT_LEGEND.position;
49
+ }
50
+ if (isValidLegendPosition(position)) {
51
+ return position;
52
+ }
53
+ return DEFAULT_LEGEND.position;
54
+ }
55
+ function isValidLegendPosition(position) {
56
+ return legendPositions.includes(position);
57
+ }
58
+ function validateLegendSpec(legend) {
59
+ if (legend === undefined) {
60
+ // undefined is valid since this is how legend is hidden by default
61
+ return true;
62
+ }
63
+ if (!isValidLegendPosition(legend.position)) {
64
+ return false;
65
+ }
66
+ return true;
67
+ }
@@ -0,0 +1,29 @@
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
+ const _legend = require("./legend");
18
+ describe('validateLegendSpec', ()=>{
19
+ it('should check if a legend spec is valid', ()=>{
20
+ const invalidLegend = {
21
+ position: 'bottom'
22
+ };
23
+ expect((0, _legend.validateLegendSpec)(invalidLegend)).toEqual(false);
24
+ expect((0, _legend.validateLegendSpec)({
25
+ position: 'Bottom'
26
+ })).toEqual(true);
27
+ expect((0, _legend.validateLegendSpec)(undefined)).toEqual(true);
28
+ });
29
+ });
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- // Copyright 2022 The Perses Authors
1
+ // Copyright 2023 The Perses Authors
2
2
  // Licensed under the Apache License, Version 2.0 (the "License");
3
3
  // you may not use this file except in compliance with the License.
4
4
  // You may obtain a copy of the License at