@perses-dev/components 0.0.0-snapshot-time-range-height-80d08fc

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 (481) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +18 -0
  3. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts +9 -0
  4. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts.map +1 -0
  5. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js +181 -0
  6. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js.map +1 -0
  7. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts +12 -0
  8. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -0
  9. package/dist/DateTimeRangePicker/DateTimeRangePicker.js +79 -0
  10. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -0
  11. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts +17 -0
  12. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts.map +1 -0
  13. package/dist/DateTimeRangePicker/TimeRangeSelector.js +58 -0
  14. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +1 -0
  15. package/dist/DateTimeRangePicker/index.d.ts +4 -0
  16. package/dist/DateTimeRangePicker/index.d.ts.map +1 -0
  17. package/dist/DateTimeRangePicker/index.js +17 -0
  18. package/dist/DateTimeRangePicker/index.js.map +1 -0
  19. package/dist/DateTimeRangePicker/utils.d.ts +7 -0
  20. package/dist/DateTimeRangePicker/utils.d.ts.map +1 -0
  21. package/dist/DateTimeRangePicker/utils.js +37 -0
  22. package/dist/DateTimeRangePicker/utils.js.map +1 -0
  23. package/dist/Drawer/Drawer.d.ts +9 -0
  24. package/dist/Drawer/Drawer.d.ts.map +1 -0
  25. package/dist/Drawer/Drawer.js +34 -0
  26. package/dist/Drawer/Drawer.js.map +1 -0
  27. package/dist/Drawer/index.d.ts +2 -0
  28. package/dist/Drawer/index.d.ts.map +1 -0
  29. package/dist/Drawer/index.js +15 -0
  30. package/dist/Drawer/index.js.map +1 -0
  31. package/dist/EChart.d.ts +61 -0
  32. package/dist/EChart.d.ts.map +1 -0
  33. package/dist/EChart.js +143 -0
  34. package/dist/EChart.js.map +1 -0
  35. package/dist/ErrorAlert.d.ts +9 -0
  36. package/dist/ErrorAlert.d.ts.map +1 -0
  37. package/dist/ErrorAlert.js +25 -0
  38. package/dist/ErrorAlert.js.map +1 -0
  39. package/dist/ErrorBoundary.d.ts +3 -0
  40. package/dist/ErrorBoundary.d.ts.map +1 -0
  41. package/dist/ErrorBoundary.js +16 -0
  42. package/dist/ErrorBoundary.js.map +1 -0
  43. package/dist/GaugeChart/GaugeChart.d.ts +15 -0
  44. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -0
  45. package/dist/GaugeChart/GaugeChart.js +172 -0
  46. package/dist/GaugeChart/GaugeChart.js.map +1 -0
  47. package/dist/GaugeChart/index.d.ts +2 -0
  48. package/dist/GaugeChart/index.d.ts.map +1 -0
  49. package/dist/GaugeChart/index.js +15 -0
  50. package/dist/GaugeChart/index.js.map +1 -0
  51. package/dist/InfoTooltip/InfoTooltip.d.ts +17 -0
  52. package/dist/InfoTooltip/InfoTooltip.d.ts.map +1 -0
  53. package/dist/InfoTooltip/InfoTooltip.js +76 -0
  54. package/dist/InfoTooltip/InfoTooltip.js.map +1 -0
  55. package/dist/InfoTooltip/InfoTooltip.test.d.ts +2 -0
  56. package/dist/InfoTooltip/InfoTooltip.test.d.ts.map +1 -0
  57. package/dist/InfoTooltip/InfoTooltip.test.js +36 -0
  58. package/dist/InfoTooltip/InfoTooltip.test.js.map +1 -0
  59. package/dist/InfoTooltip/index.d.ts +2 -0
  60. package/dist/InfoTooltip/index.d.ts.map +1 -0
  61. package/dist/InfoTooltip/index.js +15 -0
  62. package/dist/InfoTooltip/index.js.map +1 -0
  63. package/dist/JSONEditor.d.ts +8 -0
  64. package/dist/JSONEditor.d.ts.map +1 -0
  65. package/dist/JSONEditor.js +51 -0
  66. package/dist/JSONEditor.js.map +1 -0
  67. package/dist/Legend/CompactLegend.d.ts +13 -0
  68. package/dist/Legend/CompactLegend.d.ts.map +1 -0
  69. package/dist/Legend/CompactLegend.js +45 -0
  70. package/dist/Legend/CompactLegend.js.map +1 -0
  71. package/dist/Legend/Legend.d.ts +11 -0
  72. package/dist/Legend/Legend.d.ts.map +1 -0
  73. package/dist/Legend/Legend.js +39 -0
  74. package/dist/Legend/Legend.js.map +1 -0
  75. package/dist/Legend/LegendColorBadge.d.ts +7 -0
  76. package/dist/Legend/LegendColorBadge.d.ts.map +1 -0
  77. package/dist/Legend/LegendColorBadge.js +31 -0
  78. package/dist/Legend/LegendColorBadge.js.map +1 -0
  79. package/dist/Legend/ListLegend.d.ts +11 -0
  80. package/dist/Legend/ListLegend.d.ts.map +1 -0
  81. package/dist/Legend/ListLegend.js +40 -0
  82. package/dist/Legend/ListLegend.js.map +1 -0
  83. package/dist/Legend/ListLegendItem.d.ts +9 -0
  84. package/dist/Legend/ListLegendItem.d.ts.map +1 -0
  85. package/dist/Legend/ListLegendItem.js +47 -0
  86. package/dist/Legend/ListLegendItem.js.map +1 -0
  87. package/dist/Legend/index.d.ts +2 -0
  88. package/dist/Legend/index.d.ts.map +1 -0
  89. package/dist/Legend/index.js +15 -0
  90. package/dist/Legend/index.js.map +1 -0
  91. package/dist/LineChart/LineChart.d.ts +19 -0
  92. package/dist/LineChart/LineChart.d.ts.map +1 -0
  93. package/dist/LineChart/LineChart.js +189 -0
  94. package/dist/LineChart/LineChart.js.map +1 -0
  95. package/dist/LineChart/index.d.ts +3 -0
  96. package/dist/LineChart/index.d.ts.map +1 -0
  97. package/dist/LineChart/index.js +15 -0
  98. package/dist/LineChart/index.js.map +1 -0
  99. package/dist/LineChart/utils.d.ts +30 -0
  100. package/dist/LineChart/utils.d.ts.map +1 -0
  101. package/dist/LineChart/utils.js +90 -0
  102. package/dist/LineChart/utils.js.map +1 -0
  103. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts +13 -0
  104. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts.map +1 -0
  105. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +28 -0
  106. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -0
  107. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts +5 -0
  108. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts.map +1 -0
  109. package/dist/OptionsEditorLayout/OptionsEditorControl.js +50 -0
  110. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -0
  111. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts +13 -0
  112. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts.map +1 -0
  113. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +26 -0
  114. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -0
  115. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts +13 -0
  116. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts.map +1 -0
  117. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +36 -0
  118. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -0
  119. package/dist/OptionsEditorLayout/index.d.ts +5 -0
  120. package/dist/OptionsEditorLayout/index.d.ts.map +1 -0
  121. package/dist/OptionsEditorLayout/index.js +18 -0
  122. package/dist/OptionsEditorLayout/index.js.map +1 -0
  123. package/dist/StatChart/StatChart.d.ts +19 -0
  124. package/dist/StatChart/StatChart.d.ts.map +1 -0
  125. package/dist/StatChart/StatChart.js +121 -0
  126. package/dist/StatChart/StatChart.js.map +1 -0
  127. package/dist/StatChart/StatChart.test.d.ts +2 -0
  128. package/dist/StatChart/StatChart.test.d.ts.map +1 -0
  129. package/dist/StatChart/StatChart.test.js +87 -0
  130. package/dist/StatChart/StatChart.test.js.map +1 -0
  131. package/dist/StatChart/index.d.ts +2 -0
  132. package/dist/StatChart/index.d.ts.map +1 -0
  133. package/dist/StatChart/index.js +15 -0
  134. package/dist/StatChart/index.js.map +1 -0
  135. package/dist/Tooltip/SeriesInfo.d.ts +12 -0
  136. package/dist/Tooltip/SeriesInfo.d.ts.map +1 -0
  137. package/dist/Tooltip/SeriesInfo.js +143 -0
  138. package/dist/Tooltip/SeriesInfo.js.map +1 -0
  139. package/dist/Tooltip/SeriesMarker.d.ts +7 -0
  140. package/dist/Tooltip/SeriesMarker.d.ts.map +1 -0
  141. package/dist/Tooltip/SeriesMarker.js +33 -0
  142. package/dist/Tooltip/SeriesMarker.js.map +1 -0
  143. package/dist/Tooltip/Tooltip.d.ts +13 -0
  144. package/dist/Tooltip/Tooltip.d.ts.map +1 -0
  145. package/dist/Tooltip/Tooltip.js +72 -0
  146. package/dist/Tooltip/Tooltip.js.map +1 -0
  147. package/dist/Tooltip/TooltipContent.d.ts +9 -0
  148. package/dist/Tooltip/TooltipContent.d.ts.map +1 -0
  149. package/dist/Tooltip/TooltipContent.js +89 -0
  150. package/dist/Tooltip/TooltipContent.js.map +1 -0
  151. package/dist/Tooltip/focused-series.d.ts +25 -0
  152. package/dist/Tooltip/focused-series.d.ts.map +1 -0
  153. package/dist/Tooltip/focused-series.js +111 -0
  154. package/dist/Tooltip/focused-series.js.map +1 -0
  155. package/dist/Tooltip/focused-series.test.d.ts +2 -0
  156. package/dist/Tooltip/focused-series.test.d.ts.map +1 -0
  157. package/dist/Tooltip/focused-series.test.js +93 -0
  158. package/dist/Tooltip/focused-series.test.js.map +1 -0
  159. package/dist/Tooltip/index.d.ts +3 -0
  160. package/dist/Tooltip/index.d.ts.map +1 -0
  161. package/dist/Tooltip/index.js +16 -0
  162. package/dist/Tooltip/index.js.map +1 -0
  163. package/dist/Tooltip/tooltip-model.d.ts +79 -0
  164. package/dist/Tooltip/tooltip-model.d.ts.map +1 -0
  165. package/dist/Tooltip/tooltip-model.js +80 -0
  166. package/dist/Tooltip/tooltip-model.js.map +1 -0
  167. package/dist/Tooltip/utils.d.ts +6 -0
  168. package/dist/Tooltip/utils.d.ts.map +1 -0
  169. package/dist/Tooltip/utils.js +46 -0
  170. package/dist/Tooltip/utils.js.map +1 -0
  171. package/dist/UnitSelector/UnitSelector.d.ts +8 -0
  172. package/dist/UnitSelector/UnitSelector.d.ts.map +1 -0
  173. package/dist/UnitSelector/UnitSelector.js +112 -0
  174. package/dist/UnitSelector/UnitSelector.js.map +1 -0
  175. package/dist/UnitSelector/UnitSelector.test.d.ts +2 -0
  176. package/dist/UnitSelector/UnitSelector.test.d.ts.map +1 -0
  177. package/dist/UnitSelector/UnitSelector.test.js +205 -0
  178. package/dist/UnitSelector/UnitSelector.test.js.map +1 -0
  179. package/dist/UnitSelector/index.d.ts +2 -0
  180. package/dist/UnitSelector/index.d.ts.map +1 -0
  181. package/dist/UnitSelector/index.js +15 -0
  182. package/dist/UnitSelector/index.js.map +1 -0
  183. package/dist/YAxisLabel.d.ts +8 -0
  184. package/dist/YAxisLabel.d.ts.map +1 -0
  185. package/dist/YAxisLabel.js +39 -0
  186. package/dist/YAxisLabel.js.map +1 -0
  187. package/dist/cjs/DateTimeRangePicker/AbsoluteTimePicker.js +187 -0
  188. package/dist/cjs/DateTimeRangePicker/DateTimeRangePicker.js +85 -0
  189. package/dist/cjs/DateTimeRangePicker/TimeRangeSelector.js +69 -0
  190. package/dist/cjs/DateTimeRangePicker/index.js +30 -0
  191. package/dist/cjs/DateTimeRangePicker/utils.js +45 -0
  192. package/dist/cjs/Drawer/Drawer.js +40 -0
  193. package/dist/cjs/Drawer/index.js +28 -0
  194. package/dist/cjs/EChart.js +188 -0
  195. package/dist/cjs/ErrorAlert.js +29 -0
  196. package/dist/cjs/ErrorBoundary.js +22 -0
  197. package/dist/cjs/GaugeChart/GaugeChart.js +178 -0
  198. package/dist/cjs/GaugeChart/index.js +28 -0
  199. package/dist/cjs/InfoTooltip/InfoTooltip.js +93 -0
  200. package/dist/cjs/InfoTooltip/InfoTooltip.test.js +43 -0
  201. package/dist/cjs/InfoTooltip/index.js +28 -0
  202. package/dist/cjs/JSONEditor.js +57 -0
  203. package/dist/cjs/Legend/CompactLegend.js +48 -0
  204. package/dist/cjs/Legend/Legend.js +45 -0
  205. package/dist/cjs/Legend/LegendColorBadge.js +42 -0
  206. package/dist/cjs/Legend/ListLegend.js +44 -0
  207. package/dist/cjs/Legend/ListLegendItem.js +91 -0
  208. package/dist/cjs/Legend/index.js +28 -0
  209. package/dist/cjs/LineChart/LineChart.js +195 -0
  210. package/dist/cjs/LineChart/index.js +28 -0
  211. package/dist/cjs/LineChart/utils.js +95 -0
  212. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +32 -0
  213. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +61 -0
  214. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +29 -0
  215. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +40 -0
  216. package/dist/cjs/OptionsEditorLayout/index.js +31 -0
  217. package/dist/cjs/StatChart/StatChart.js +165 -0
  218. package/dist/cjs/StatChart/StatChart.test.js +89 -0
  219. package/dist/cjs/StatChart/index.js +28 -0
  220. package/dist/cjs/Tooltip/SeriesInfo.js +149 -0
  221. package/dist/cjs/Tooltip/SeriesMarker.js +39 -0
  222. package/dist/cjs/Tooltip/Tooltip.js +116 -0
  223. package/dist/cjs/Tooltip/TooltipContent.js +95 -0
  224. package/dist/cjs/Tooltip/focused-series.js +117 -0
  225. package/dist/cjs/Tooltip/focused-series.test.js +95 -0
  226. package/dist/cjs/Tooltip/index.js +29 -0
  227. package/dist/cjs/Tooltip/tooltip-model.js +98 -0
  228. package/dist/cjs/Tooltip/utils.js +50 -0
  229. package/dist/cjs/UnitSelector/UnitSelector.js +118 -0
  230. package/dist/cjs/UnitSelector/UnitSelector.test.js +212 -0
  231. package/dist/cjs/UnitSelector/index.js +28 -0
  232. package/dist/cjs/YAxisLabel.js +45 -0
  233. package/dist/cjs/context/ChartsThemeProvider.js +83 -0
  234. package/dist/cjs/context/TimeZoneProvider.js +90 -0
  235. package/dist/cjs/index.js +47 -0
  236. package/dist/cjs/model/graph.js +21 -0
  237. package/dist/cjs/model/index.js +30 -0
  238. package/dist/cjs/model/theme.js +16 -0
  239. package/dist/cjs/model/units/bytes.js +60 -0
  240. package/dist/cjs/model/units/constants.js +23 -0
  241. package/dist/cjs/model/units/decimal.js +67 -0
  242. package/dist/cjs/model/units/index.js +30 -0
  243. package/dist/cjs/model/units/percent.js +64 -0
  244. package/dist/cjs/model/units/time.js +102 -0
  245. package/dist/cjs/model/units/types.js +28 -0
  246. package/dist/cjs/model/units/units.js +104 -0
  247. package/dist/cjs/test/index.js +28 -0
  248. package/dist/cjs/test/render.js +36 -0
  249. package/dist/cjs/test/setup-tests.js +20 -0
  250. package/dist/cjs/test-utils/index.js +28 -0
  251. package/dist/cjs/test-utils/theme.js +28 -0
  252. package/dist/cjs/theme/index.js +28 -0
  253. package/dist/cjs/theme/palette/background.js +40 -0
  254. package/dist/cjs/theme/palette/colors/blue.js +35 -0
  255. package/dist/cjs/theme/palette/colors/common.js +28 -0
  256. package/dist/cjs/theme/palette/colors/green.js +35 -0
  257. package/dist/cjs/theme/palette/colors/grey.js +35 -0
  258. package/dist/cjs/theme/palette/colors/index.js +35 -0
  259. package/dist/cjs/theme/palette/colors/orange.js +35 -0
  260. package/dist/cjs/theme/palette/colors/purple.js +35 -0
  261. package/dist/cjs/theme/palette/colors/red.js +35 -0
  262. package/dist/cjs/theme/palette/colors/types.js +16 -0
  263. package/dist/cjs/theme/palette/error.js +32 -0
  264. package/dist/cjs/theme/palette/grey.js +44 -0
  265. package/dist/cjs/theme/palette/index.js +28 -0
  266. package/dist/cjs/theme/palette/palette-options.js +59 -0
  267. package/dist/cjs/theme/palette/primary.js +32 -0
  268. package/dist/cjs/theme/palette/secondary.js +32 -0
  269. package/dist/cjs/theme/palette/success.js +32 -0
  270. package/dist/cjs/theme/palette/text.js +42 -0
  271. package/dist/cjs/theme/palette/warning.js +32 -0
  272. package/dist/cjs/theme/theme.js +64 -0
  273. package/dist/cjs/theme/types/ThemeExtension.d.js +17 -0
  274. package/dist/cjs/theme/typography.js +96 -0
  275. package/dist/cjs/utils/combine-sx.js +29 -0
  276. package/dist/cjs/utils/component-ids.js +31 -0
  277. package/dist/cjs/utils/format.js +56 -0
  278. package/dist/cjs/utils/format.test.js +47 -0
  279. package/dist/cjs/utils/index.js +31 -0
  280. package/dist/cjs/utils/mathjs.js +25 -0
  281. package/dist/cjs/utils/theme-gen.js +188 -0
  282. package/dist/cjs/utils/theme-gen.test.js +197 -0
  283. package/dist/context/ChartsThemeProvider.d.ts +10 -0
  284. package/dist/context/ChartsThemeProvider.d.ts.map +1 -0
  285. package/dist/context/ChartsThemeProvider.js +31 -0
  286. package/dist/context/ChartsThemeProvider.js.map +1 -0
  287. package/dist/context/TimeZoneProvider.d.ts +13 -0
  288. package/dist/context/TimeZoneProvider.d.ts.map +1 -0
  289. package/dist/context/TimeZoneProvider.js +38 -0
  290. package/dist/context/TimeZoneProvider.js.map +1 -0
  291. package/dist/index.d.ts +21 -0
  292. package/dist/index.d.ts.map +1 -0
  293. package/dist/index.js +34 -0
  294. package/dist/index.js.map +1 -0
  295. package/dist/model/graph.d.ts +34 -0
  296. package/dist/model/graph.d.ts.map +1 -0
  297. package/dist/model/graph.js +16 -0
  298. package/dist/model/graph.js.map +1 -0
  299. package/dist/model/index.d.ts +4 -0
  300. package/dist/model/index.d.ts.map +1 -0
  301. package/dist/model/index.js +17 -0
  302. package/dist/model/index.js.map +1 -0
  303. package/dist/model/theme.d.ts +15 -0
  304. package/dist/model/theme.d.ts.map +1 -0
  305. package/dist/model/theme.js +15 -0
  306. package/dist/model/theme.js.map +1 -0
  307. package/dist/model/units/bytes.d.ts +12 -0
  308. package/dist/model/units/bytes.d.ts.map +1 -0
  309. package/dist/model/units/bytes.js +48 -0
  310. package/dist/model/units/bytes.js.map +1 -0
  311. package/dist/model/units/constants.d.ts +2 -0
  312. package/dist/model/units/constants.d.ts.map +1 -0
  313. package/dist/model/units/constants.js +17 -0
  314. package/dist/model/units/constants.js.map +1 -0
  315. package/dist/model/units/decimal.d.ts +24 -0
  316. package/dist/model/units/decimal.d.ts.map +1 -0
  317. package/dist/model/units/decimal.js +59 -0
  318. package/dist/model/units/decimal.js.map +1 -0
  319. package/dist/model/units/index.d.ts +4 -0
  320. package/dist/model/units/index.d.ts.map +1 -0
  321. package/dist/model/units/index.js +17 -0
  322. package/dist/model/units/index.js.map +1 -0
  323. package/dist/model/units/percent.d.ts +12 -0
  324. package/dist/model/units/percent.d.ts.map +1 -0
  325. package/dist/model/units/percent.js +51 -0
  326. package/dist/model/units/percent.js.map +1 -0
  327. package/dist/model/units/time.d.ts +22 -0
  328. package/dist/model/units/time.d.ts.map +1 -0
  329. package/dist/model/units/time.js +88 -0
  330. package/dist/model/units/time.js.map +1 -0
  331. package/dist/model/units/types.d.ts +38 -0
  332. package/dist/model/units/types.d.ts.map +1 -0
  333. package/dist/model/units/types.js +22 -0
  334. package/dist/model/units/types.js.map +1 -0
  335. package/dist/model/units/units.d.ts +40 -0
  336. package/dist/model/units/units.d.ts.map +1 -0
  337. package/dist/model/units/units.js +83 -0
  338. package/dist/model/units/units.js.map +1 -0
  339. package/dist/test/index.d.ts +2 -0
  340. package/dist/test/index.d.ts.map +1 -0
  341. package/dist/test/index.js +15 -0
  342. package/dist/test/index.js.map +1 -0
  343. package/dist/test/render.d.ts +7 -0
  344. package/dist/test/render.d.ts.map +1 -0
  345. package/dist/test/render.js +32 -0
  346. package/dist/test/render.js.map +1 -0
  347. package/dist/test/setup-tests.d.ts +2 -0
  348. package/dist/test/setup-tests.d.ts.map +1 -0
  349. package/dist/test/setup-tests.js +18 -0
  350. package/dist/test/setup-tests.js.map +1 -0
  351. package/dist/test-utils/index.d.ts +2 -0
  352. package/dist/test-utils/index.d.ts.map +1 -0
  353. package/dist/test-utils/index.js +15 -0
  354. package/dist/test-utils/index.js.map +1 -0
  355. package/dist/test-utils/theme.d.ts +3 -0
  356. package/dist/test-utils/theme.d.ts.map +1 -0
  357. package/dist/test-utils/theme.js +22 -0
  358. package/dist/test-utils/theme.js.map +1 -0
  359. package/dist/theme/index.d.ts +37 -0
  360. package/dist/theme/index.d.ts.map +1 -0
  361. package/dist/theme/index.js +15 -0
  362. package/dist/theme/index.js.map +1 -0
  363. package/dist/theme/palette/background.d.ts +3 -0
  364. package/dist/theme/palette/background.d.ts.map +1 -0
  365. package/dist/theme/palette/background.js +34 -0
  366. package/dist/theme/palette/background.js.map +1 -0
  367. package/dist/theme/palette/colors/blue.d.ts +3 -0
  368. package/dist/theme/palette/colors/blue.d.ts.map +1 -0
  369. package/dist/theme/palette/colors/blue.js +29 -0
  370. package/dist/theme/palette/colors/blue.js.map +1 -0
  371. package/dist/theme/palette/colors/common.d.ts +3 -0
  372. package/dist/theme/palette/colors/common.d.ts.map +1 -0
  373. package/dist/theme/palette/colors/common.js +16 -0
  374. package/dist/theme/palette/colors/common.js.map +1 -0
  375. package/dist/theme/palette/colors/green.d.ts +3 -0
  376. package/dist/theme/palette/colors/green.d.ts.map +1 -0
  377. package/dist/theme/palette/colors/green.js +29 -0
  378. package/dist/theme/palette/colors/green.js.map +1 -0
  379. package/dist/theme/palette/colors/grey.d.ts +3 -0
  380. package/dist/theme/palette/colors/grey.d.ts.map +1 -0
  381. package/dist/theme/palette/colors/grey.js +29 -0
  382. package/dist/theme/palette/colors/grey.js.map +1 -0
  383. package/dist/theme/palette/colors/index.d.ts +9 -0
  384. package/dist/theme/palette/colors/index.d.ts.map +1 -0
  385. package/dist/theme/palette/colors/index.js +22 -0
  386. package/dist/theme/palette/colors/index.js.map +1 -0
  387. package/dist/theme/palette/colors/orange.d.ts +3 -0
  388. package/dist/theme/palette/colors/orange.d.ts.map +1 -0
  389. package/dist/theme/palette/colors/orange.js +29 -0
  390. package/dist/theme/palette/colors/orange.js.map +1 -0
  391. package/dist/theme/palette/colors/purple.d.ts +3 -0
  392. package/dist/theme/palette/colors/purple.d.ts.map +1 -0
  393. package/dist/theme/palette/colors/purple.js +29 -0
  394. package/dist/theme/palette/colors/purple.js.map +1 -0
  395. package/dist/theme/palette/colors/red.d.ts +3 -0
  396. package/dist/theme/palette/colors/red.d.ts.map +1 -0
  397. package/dist/theme/palette/colors/red.js +29 -0
  398. package/dist/theme/palette/colors/red.js.map +1 -0
  399. package/dist/theme/palette/colors/types.d.ts +17 -0
  400. package/dist/theme/palette/colors/types.d.ts.map +1 -0
  401. package/dist/theme/palette/colors/types.js +15 -0
  402. package/dist/theme/palette/colors/types.js.map +1 -0
  403. package/dist/theme/palette/error.d.ts +3 -0
  404. package/dist/theme/palette/error.d.ts.map +1 -0
  405. package/dist/theme/palette/error.js +26 -0
  406. package/dist/theme/palette/error.js.map +1 -0
  407. package/dist/theme/palette/grey.d.ts +3 -0
  408. package/dist/theme/palette/grey.d.ts.map +1 -0
  409. package/dist/theme/palette/grey.js +38 -0
  410. package/dist/theme/palette/grey.js.map +1 -0
  411. package/dist/theme/palette/index.d.ts +3 -0
  412. package/dist/theme/palette/index.d.ts.map +1 -0
  413. package/dist/theme/palette/index.js +15 -0
  414. package/dist/theme/palette/index.js.map +1 -0
  415. package/dist/theme/palette/palette-options.d.ts +6 -0
  416. package/dist/theme/palette/palette-options.d.ts.map +1 -0
  417. package/dist/theme/palette/palette-options.js +55 -0
  418. package/dist/theme/palette/palette-options.js.map +1 -0
  419. package/dist/theme/palette/primary.d.ts +3 -0
  420. package/dist/theme/palette/primary.d.ts.map +1 -0
  421. package/dist/theme/palette/primary.js +26 -0
  422. package/dist/theme/palette/primary.js.map +1 -0
  423. package/dist/theme/palette/secondary.d.ts +3 -0
  424. package/dist/theme/palette/secondary.d.ts.map +1 -0
  425. package/dist/theme/palette/secondary.js +26 -0
  426. package/dist/theme/palette/secondary.js.map +1 -0
  427. package/dist/theme/palette/success.d.ts +3 -0
  428. package/dist/theme/palette/success.d.ts.map +1 -0
  429. package/dist/theme/palette/success.js +26 -0
  430. package/dist/theme/palette/success.js.map +1 -0
  431. package/dist/theme/palette/text.d.ts +3 -0
  432. package/dist/theme/palette/text.d.ts.map +1 -0
  433. package/dist/theme/palette/text.js +36 -0
  434. package/dist/theme/palette/text.js.map +1 -0
  435. package/dist/theme/palette/warning.d.ts +3 -0
  436. package/dist/theme/palette/warning.d.ts.map +1 -0
  437. package/dist/theme/palette/warning.js +26 -0
  438. package/dist/theme/palette/warning.js.map +1 -0
  439. package/dist/theme/theme.d.ts +13 -0
  440. package/dist/theme/theme.d.ts.map +1 -0
  441. package/dist/theme/theme.js +67 -0
  442. package/dist/theme/theme.js.map +1 -0
  443. package/dist/theme/types/ThemeExtension.d.js +16 -0
  444. package/dist/theme/types/ThemeExtension.d.js.map +1 -0
  445. package/dist/theme/typography.d.ts +10 -0
  446. package/dist/theme/typography.d.ts.map +1 -0
  447. package/dist/theme/typography.js +92 -0
  448. package/dist/theme/typography.js.map +1 -0
  449. package/dist/utils/combine-sx.d.ts +8 -0
  450. package/dist/utils/combine-sx.d.ts.map +1 -0
  451. package/dist/utils/combine-sx.js +27 -0
  452. package/dist/utils/combine-sx.js.map +1 -0
  453. package/dist/utils/component-ids.d.ts +8 -0
  454. package/dist/utils/component-ids.d.ts.map +1 -0
  455. package/dist/utils/component-ids.js +27 -0
  456. package/dist/utils/component-ids.js.map +1 -0
  457. package/dist/utils/format.d.ts +3 -0
  458. package/dist/utils/format.d.ts.map +1 -0
  459. package/dist/utils/format.js +44 -0
  460. package/dist/utils/format.js.map +1 -0
  461. package/dist/utils/format.test.d.ts +2 -0
  462. package/dist/utils/format.test.d.ts.map +1 -0
  463. package/dist/utils/format.test.js +45 -0
  464. package/dist/utils/format.test.js.map +1 -0
  465. package/dist/utils/index.d.ts +5 -0
  466. package/dist/utils/index.d.ts.map +1 -0
  467. package/dist/utils/index.js +18 -0
  468. package/dist/utils/index.js.map +1 -0
  469. package/dist/utils/mathjs.d.ts +6 -0
  470. package/dist/utils/mathjs.d.ts.map +1 -0
  471. package/dist/utils/mathjs.js +20 -0
  472. package/dist/utils/mathjs.js.map +1 -0
  473. package/dist/utils/theme-gen.d.ts +6 -0
  474. package/dist/utils/theme-gen.d.ts.map +1 -0
  475. package/dist/utils/theme-gen.js +182 -0
  476. package/dist/utils/theme-gen.js.map +1 -0
  477. package/dist/utils/theme-gen.test.d.ts +2 -0
  478. package/dist/utils/theme-gen.test.d.ts.map +1 -0
  479. package/dist/utils/theme-gen.test.js +195 -0
  480. package/dist/utils/theme-gen.test.js.map +1 -0
  481. package/package.json +54 -0
@@ -0,0 +1,149 @@
1
+ // Copyright 2022 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, "SeriesInfo", {
18
+ enumerable: true,
19
+ get: ()=>SeriesInfo
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ const _seriesMarker = require("./SeriesMarker");
24
+ const _tooltipModel = require("./tooltip-model");
25
+ function SeriesInfo(props) {
26
+ const { seriesName , formattedY , markerColor , totalSeries , wrapLabels } = props;
27
+ // TODO (sjcobb): regex to remove __name__, improve series labels
28
+ const formattedSeriesLabels = seriesName.replace(/[{}"]/g, '');
29
+ if (totalSeries === 1) {
30
+ const jsonFormattedSeries = seriesName[0] === '{' ? true : false;
31
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
32
+ spacing: 0.5,
33
+ children: [
34
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
35
+ sx: (theme)=>({
36
+ height: '16px',
37
+ display: 'flex',
38
+ flexDirection: 'row',
39
+ alignItems: 'center',
40
+ justifyContent: 'left',
41
+ color: theme.palette.common.white,
42
+ fontSize: '11px'
43
+ }),
44
+ children: [
45
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesMarker.SeriesMarker, {
46
+ markerColor: markerColor
47
+ }),
48
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
49
+ component: "span",
50
+ children: [
51
+ "value:",
52
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
53
+ component: "span",
54
+ sx: (theme)=>({
55
+ color: theme.palette.common.white,
56
+ fontWeight: 700,
57
+ paddingLeft: '2px'
58
+ }),
59
+ children: formattedY
60
+ })
61
+ ]
62
+ })
63
+ ]
64
+ }),
65
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Divider, {
66
+ sx: (theme)=>({
67
+ borderColor: theme.palette.grey['500']
68
+ })
69
+ }),
70
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
71
+ sx: (theme)=>({
72
+ color: theme.palette.common.white
73
+ }),
74
+ children: formattedSeriesLabels.split(',').map((name)=>{
75
+ if (name) {
76
+ const [key, value] = jsonFormattedSeries ? name.split(':') : name.split('=');
77
+ const formattedKey = value !== undefined ? `${key}: ` : key;
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: formattedKey
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: value
97
+ })
98
+ ]
99
+ }, name);
100
+ }
101
+ })
102
+ })
103
+ ]
104
+ });
105
+ }
106
+ const inlineSeriesLabels = formattedSeriesLabels.replace(/[,]/g, ', ').replace(/[:=]/g, ': ');
107
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
108
+ sx: {
109
+ display: 'table-row',
110
+ paddingTop: 0.5
111
+ },
112
+ children: [
113
+ /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
114
+ sx: {
115
+ display: 'table-cell',
116
+ maxWidth: '520px'
117
+ },
118
+ children: [
119
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesMarker.SeriesMarker, {
120
+ markerColor: markerColor
121
+ }),
122
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
123
+ component: "span",
124
+ sx: (theme)=>({
125
+ color: theme.palette.common.white,
126
+ display: 'inline-block',
127
+ maxWidth: _tooltipModel.TOOLTIP_LABELS_MAX_WIDTH,
128
+ overflow: 'hidden',
129
+ textOverflow: 'ellipsis',
130
+ whiteSpace: wrapLabels ? 'normal' : 'nowrap',
131
+ width: 'calc(100% - 20px)'
132
+ }),
133
+ children: inlineSeriesLabels
134
+ })
135
+ ]
136
+ }),
137
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
138
+ sx: {
139
+ display: 'table-cell',
140
+ fontWeight: '700',
141
+ paddingLeft: 1.5,
142
+ textAlign: 'right',
143
+ verticalAlign: 'top'
144
+ },
145
+ children: formattedY
146
+ })
147
+ ]
148
+ });
149
+ }
@@ -0,0 +1,39 @@
1
+ // Copyright 2022 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, "SeriesMarker", {
18
+ enumerable: true,
19
+ get: ()=>SeriesMarker
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _material = require("@mui/material");
23
+ function SeriesMarker(props) {
24
+ const { markerColor } = props;
25
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
26
+ sx: {
27
+ display: 'inline-block',
28
+ width: '12px',
29
+ borderRadius: '2px',
30
+ height: '12px',
31
+ marginTop: 0.25,
32
+ marginRight: 1,
33
+ verticalAlign: 'top'
34
+ },
35
+ style: {
36
+ backgroundColor: markerColor
37
+ }
38
+ });
39
+ }
@@ -0,0 +1,116 @@
1
+ // Copyright 2022 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, "Tooltip", {
18
+ enumerable: true,
19
+ get: ()=>Tooltip
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
23
+ const _material = require("@mui/material");
24
+ const _focusedSeries = require("./focused-series");
25
+ const _tooltipModel = require("./tooltip-model");
26
+ const _tooltipContent = require("./TooltipContent");
27
+ const _utils = require("./utils");
28
+ function _getRequireWildcardCache(nodeInterop) {
29
+ if (typeof WeakMap !== "function") return null;
30
+ var cacheBabelInterop = new WeakMap();
31
+ var cacheNodeInterop = new WeakMap();
32
+ return (_getRequireWildcardCache = function(nodeInterop) {
33
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
34
+ })(nodeInterop);
35
+ }
36
+ function _interopRequireWildcard(obj, nodeInterop) {
37
+ if (!nodeInterop && obj && obj.__esModule) {
38
+ return obj;
39
+ }
40
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
41
+ return {
42
+ default: obj
43
+ };
44
+ }
45
+ var cache = _getRequireWildcardCache(nodeInterop);
46
+ if (cache && cache.has(obj)) {
47
+ return cache.get(obj);
48
+ }
49
+ var newObj = {};
50
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
51
+ for(var key in obj){
52
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
53
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
54
+ if (desc && (desc.get || desc.set)) {
55
+ Object.defineProperty(newObj, key, desc);
56
+ } else {
57
+ newObj[key] = obj[key];
58
+ }
59
+ }
60
+ }
61
+ newObj.default = obj;
62
+ if (cache) {
63
+ cache.set(obj, newObj);
64
+ }
65
+ return newObj;
66
+ }
67
+ const Tooltip = /*#__PURE__*/ _react.default.memo(function Tooltip({ chartRef , chartData , wrapLabels , pinTooltip , unit }) {
68
+ const [pinnedPos, setPinnedPos] = (0, _react.useState)(null);
69
+ const mousePos = (0, _tooltipModel.useMousePosition)();
70
+ if (mousePos === null || mousePos.target === null) return null;
71
+ // ensure user is hovering over a chart before checking for nearby series
72
+ if (pinnedPos === null && mousePos.target.tagName !== 'CANVAS') return null;
73
+ const chart = chartRef.current;
74
+ const focusedSeries = (0, _focusedSeries.getFocusedSeriesData)(mousePos, chartData, pinnedPos, chart, unit);
75
+ var ref;
76
+ const chartWidth = (ref = chart === null || chart === void 0 ? void 0 : chart.getWidth()) !== null && ref !== void 0 ? ref : 750;
77
+ var ref1;
78
+ const chartHeight = (ref1 = chart === null || chart === void 0 ? void 0 : chart.getHeight()) !== null && ref1 !== void 0 ? ref1 : 230;
79
+ const cursorTransform = (0, _utils.assembleTransform)(mousePos, focusedSeries.length, chartWidth, chartHeight, pinnedPos);
80
+ if (focusedSeries.length === 0) {
81
+ return null;
82
+ }
83
+ if (pinTooltip === true && pinnedPos === null) {
84
+ setPinnedPos(mousePos);
85
+ }
86
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Portal, {
87
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
88
+ sx: (theme)=>({
89
+ maxWidth: _tooltipModel.TOOLTIP_MAX_WIDTH,
90
+ maxHeight: _tooltipModel.TOOLTIP_MAX_HEIGHT,
91
+ position: 'absolute',
92
+ top: 0,
93
+ left: 0,
94
+ backgroundColor: '#2E313E',
95
+ borderRadius: '6px',
96
+ color: '#fff',
97
+ fontSize: '11px',
98
+ visibility: 'visible',
99
+ opacity: 1,
100
+ transition: 'all 0.1s ease-out',
101
+ zIndex: theme.zIndex.tooltip,
102
+ overflow: 'hidden',
103
+ '&:hover': {
104
+ overflowY: 'auto'
105
+ }
106
+ }),
107
+ style: {
108
+ transform: cursorTransform
109
+ },
110
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_tooltipContent.TooltipContent, {
111
+ focusedSeries: focusedSeries,
112
+ wrapLabels: wrapLabels
113
+ })
114
+ })
115
+ });
116
+ });
@@ -0,0 +1,95 @@
1
+ // Copyright 2022 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, "TooltipContent", {
18
+ enumerable: true,
19
+ get: ()=>TooltipContent
20
+ });
21
+ const _jsxRuntime = require("react/jsx-runtime");
22
+ const _react = require("react");
23
+ const _material = require("@mui/material");
24
+ const _seriesInfo = require("./SeriesInfo");
25
+ const _timeZoneProvider = require("../context/TimeZoneProvider");
26
+ function TooltipContent(props) {
27
+ const { focusedSeries , wrapLabels } = props;
28
+ const { formatWithUserTimeZone } = (0, _timeZoneProvider.useTimeZone)();
29
+ const seriesTime = focusedSeries && focusedSeries[0] && focusedSeries[0].date ? focusedSeries[0].date : null;
30
+ const formatTimeSeriesHeader = (timeString)=>{
31
+ const date = new Date(timeString);
32
+ const formattedDate = formatWithUserTimeZone(date, 'MMM dd, yyyy - ');
33
+ const formattedTime = formatWithUserTimeZone(date, 'HH:mm:ss');
34
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
35
+ children: [
36
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
37
+ variant: "caption",
38
+ sx: (theme)=>({
39
+ color: theme.palette.common.white
40
+ }),
41
+ children: formattedDate
42
+ }),
43
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
44
+ variant: "caption",
45
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)("strong", {
46
+ children: formattedTime
47
+ })
48
+ })
49
+ ]
50
+ });
51
+ };
52
+ const sortedFocusedSeries = (0, _react.useMemo)(()=>{
53
+ if (focusedSeries === null) return null;
54
+ return focusedSeries.sort((a, b)=>a.y > b.y ? -1 : 1);
55
+ }, [
56
+ focusedSeries
57
+ ]);
58
+ if (sortedFocusedSeries !== null && seriesTime !== null) {
59
+ return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
60
+ py: 1,
61
+ px: 1.5,
62
+ spacing: 0.5,
63
+ children: [
64
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
65
+ variant: "caption",
66
+ children: formatTimeSeriesHeader(seriesTime)
67
+ }),
68
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Divider, {
69
+ sx: (theme)=>({
70
+ borderColor: theme.palette.grey['500']
71
+ })
72
+ }),
73
+ /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
74
+ sx: {
75
+ display: 'table'
76
+ },
77
+ children: sortedFocusedSeries.map(({ datumIdx , seriesIdx , seriesName , y , formattedY , markerColor })=>{
78
+ if (datumIdx === null || seriesIdx === null) return null;
79
+ const key = seriesIdx.toString() + datumIdx.toString();
80
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_seriesInfo.SeriesInfo, {
81
+ seriesName: seriesName,
82
+ y: y,
83
+ formattedY: formattedY,
84
+ markerColor: markerColor,
85
+ totalSeries: sortedFocusedSeries.length,
86
+ wrapLabels: wrapLabels
87
+ }, key);
88
+ })
89
+ })
90
+ ]
91
+ });
92
+ } else {
93
+ return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
94
+ }
95
+ }
@@ -0,0 +1,117 @@
1
+ // Copyright 2022 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
+ getNearbySeries: ()=>getNearbySeries,
25
+ getFocusedSeriesData: ()=>getFocusedSeriesData
26
+ });
27
+ const _model = require("../model");
28
+ const _tooltipModel = require("./tooltip-model");
29
+ function getNearbySeries(data, pointInGrid, yBuffer, unit) {
30
+ const currentFocusedData = [];
31
+ var ref;
32
+ const focusedX = (ref = pointInGrid[0]) !== null && ref !== void 0 ? ref : null;
33
+ var ref1;
34
+ const focusedY = (ref1 = pointInGrid[1]) !== null && ref1 !== void 0 ? ref1 : null;
35
+ if (focusedX === null || focusedY === null) {
36
+ return currentFocusedData;
37
+ }
38
+ if (Array.isArray(data.xAxis) && Array.isArray(data.timeSeries)) {
39
+ for(let seriesIdx = 0; seriesIdx < data.timeSeries.length; seriesIdx++){
40
+ const currentSeries = data.timeSeries[seriesIdx];
41
+ if (currentFocusedData.length >= _tooltipModel.TOOLTIP_MAX_ITEMS) break;
42
+ if (currentSeries !== undefined) {
43
+ const currentSeriesName = currentSeries.name ? currentSeries.name.toString() : '';
44
+ var _color;
45
+ const markerColor = (_color = currentSeries.color) !== null && _color !== void 0 ? _color : '#000';
46
+ if (Array.isArray(currentSeries.data)) {
47
+ for(let datumIdx = 0; datumIdx < currentSeries.data.length; datumIdx++){
48
+ var _datumIdx;
49
+ const xValue = (_datumIdx = data.xAxis[datumIdx]) !== null && _datumIdx !== void 0 ? _datumIdx : 0;
50
+ var _datumIdx1;
51
+ const yValue = (_datumIdx1 = currentSeries.data[datumIdx]) !== null && _datumIdx1 !== void 0 ? _datumIdx1 : 0;
52
+ if (focusedX === datumIdx) {
53
+ if (yValue !== '-' && focusedY <= yValue + yBuffer && focusedY >= yValue - yBuffer) {
54
+ // determine whether to convert timestamp to ms, see: https://stackoverflow.com/a/23982005/17575201
55
+ const xValueMilliSeconds = xValue > 99999999999 ? xValue : xValue * 1000;
56
+ const formattedDate = _tooltipModel.TOOLTIP_DATE_FORMAT.format(xValueMilliSeconds);
57
+ const formattedY = (0, _model.formatValue)(yValue, unit);
58
+ currentFocusedData.push({
59
+ seriesIdx: seriesIdx,
60
+ datumIdx: datumIdx,
61
+ seriesName: currentSeriesName,
62
+ date: formattedDate,
63
+ x: xValue,
64
+ y: yValue,
65
+ formattedY: formattedY,
66
+ markerColor: markerColor.toString()
67
+ });
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return currentFocusedData;
76
+ }
77
+ function getFocusedSeriesData(mousePos, chartData, pinnedPos, chart, unit) {
78
+ if (chart === undefined || mousePos === null) return [];
79
+ // prevents multiple tooltips showing from adjacent charts
80
+ let cursorTargetMatchesChart = false;
81
+ if (mousePos.target !== null) {
82
+ const currentParent = mousePos.target.parentElement;
83
+ if (currentParent !== null) {
84
+ const currentGrandparent = currentParent.parentElement;
85
+ if (currentGrandparent !== null) {
86
+ const chartDom = chart.getDom();
87
+ if (chartDom === currentGrandparent) {
88
+ cursorTargetMatchesChart = true;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ // allows moving cursor inside tooltip
94
+ if (pinnedPos !== null) {
95
+ mousePos = pinnedPos;
96
+ cursorTargetMatchesChart = true;
97
+ }
98
+ if (cursorTargetMatchesChart === false) return [];
99
+ if (chart['_model'] === undefined) return [];
100
+ const chartModel = chart['_model'];
101
+ const yAxisInterval = chartModel.getComponent('yAxis').axis.scale._interval;
102
+ 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;
105
+ var _x, _y;
106
+ const pointInPixel = [
107
+ (_x = mousePos.plotCanvas.x) !== null && _x !== void 0 ? _x : 0,
108
+ (_y = mousePos.plotCanvas.y) !== null && _y !== void 0 ? _y : 0
109
+ ];
110
+ if (chart.containPixel('grid', pointInPixel)) {
111
+ const pointInGrid = chart.convertFromPixel('grid', pointInPixel);
112
+ if (pointInGrid[0] !== undefined && pointInGrid[1] !== undefined) {
113
+ return getNearbySeries(chartData, pointInGrid, yBuffer, unit);
114
+ }
115
+ }
116
+ return [];
117
+ }
@@ -0,0 +1,95 @@
1
+ // Copyright 2022 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 _focusedSeries = require("./focused-series");
18
+ describe('getNearbySeries', ()=>{
19
+ const chartData = {
20
+ timeSeries: [
21
+ {
22
+ type: 'line',
23
+ name: 'env="demo", instance="demo.do.prometheus", job="node", mode="test"',
24
+ color: 'hsla(-1365438424,50%,50%,0.8)',
25
+ data: [
26
+ 0.0002315202231525094,
27
+ 0.00022873082287300112,
28
+ 0.00023152022315149463,
29
+ 0.00023152022315149463,
30
+ 0.00022873082287300112
31
+ ],
32
+ symbol: 'circle'
33
+ },
34
+ {
35
+ type: 'line',
36
+ name: 'env="demo", instance="demo.do.prometheus", job="node", mode="test alt"',
37
+ color: 'hsla(286664040,50%,50%,0.8)',
38
+ data: [
39
+ 0.05245188284519867,
40
+ 0.0524463040446356,
41
+ 0.0524463040446356,
42
+ 0.05247140864723438,
43
+ 0.052482566248230646
44
+ ],
45
+ symbol: 'circle'
46
+ }
47
+ ],
48
+ xAxis: [
49
+ 1654007865000,
50
+ 1654007880000,
51
+ 1654007895000,
52
+ 1654007910000,
53
+ 1654007925000
54
+ ],
55
+ rangeMs: 60000
56
+ };
57
+ // https://echarts.apache.org/en/api.html#echartsInstance.convertFromPixel
58
+ const pointInGrid = [
59
+ 2,
60
+ 0.0560655737704918
61
+ ]; // converted from chart.getZr() mousemove coordinates
62
+ const yBuffer = 0.02; // calculated from y axis interval
63
+ const focusedSeriesOutput = [
64
+ {
65
+ date: 'May 31, 2022, 2:38:15 PM',
66
+ datumIdx: 2,
67
+ markerColor: 'hsla(286664040,50%,50%,0.8)',
68
+ seriesName: 'env="demo", instance="demo.do.prometheus", job="node", mode="test alt"',
69
+ seriesIdx: 1,
70
+ x: 1654007895000,
71
+ y: 0.0524463040446356,
72
+ formattedY: '0.05'
73
+ }
74
+ ];
75
+ it('should return focused series data for points nearby the cursor', ()=>{
76
+ const decimalUnit = {
77
+ kind: 'Decimal',
78
+ decimal_places: 2
79
+ };
80
+ expect((0, _focusedSeries.getNearbySeries)(chartData, pointInGrid, yBuffer, decimalUnit)).toEqual(focusedSeriesOutput);
81
+ });
82
+ it('should return series values formatted as a percent', ()=>{
83
+ const percentFormattedOutput = [
84
+ ...focusedSeriesOutput
85
+ ];
86
+ if (percentFormattedOutput[0]) {
87
+ percentFormattedOutput[0].formattedY = '5%';
88
+ }
89
+ const percentFormattedUnit = {
90
+ kind: 'PercentDecimal',
91
+ decimal_places: 0
92
+ };
93
+ expect((0, _focusedSeries.getNearbySeries)(chartData, pointInGrid, yBuffer, percentFormattedUnit)).toEqual(percentFormattedOutput);
94
+ });
95
+ });
@@ -0,0 +1,29 @@
1
+ // Copyright 2022 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
+ _exportStar(require("./Tooltip"), exports);
18
+ _exportStar(require("./SeriesMarker"), exports);
19
+ function _exportStar(from, to) {
20
+ Object.keys(from).forEach(function(k) {
21
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
22
+ enumerable: true,
23
+ get: function() {
24
+ return from[k];
25
+ }
26
+ });
27
+ });
28
+ return from;
29
+ }