@perses-dev/components 0.0.0-snapshot-scatter-chart-embed-8efdfab → 0.0.0-snapshot-explorer-plugin-c4a7621

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 (604) hide show
  1. package/dist/AlignSelector/AlignSelector.d.ts +9 -0
  2. package/dist/AlignSelector/AlignSelector.d.ts.map +1 -0
  3. package/dist/AlignSelector/AlignSelector.js +42 -0
  4. package/dist/AlignSelector/AlignSelector.js.map +1 -0
  5. package/dist/AlignSelector/index.d.ts +2 -0
  6. package/dist/AlignSelector/index.d.ts.map +1 -0
  7. package/dist/AlignSelector/index.js +15 -0
  8. package/dist/AlignSelector/index.js.map +1 -0
  9. package/dist/BarChart/BarChart.d.ts +2 -2
  10. package/dist/BarChart/BarChart.d.ts.map +1 -1
  11. package/dist/BarChart/BarChart.js +13 -8
  12. package/dist/BarChart/BarChart.js.map +1 -1
  13. package/dist/ColorPicker/ColorPicker.d.ts +3 -2
  14. package/dist/ColorPicker/ColorPicker.d.ts.map +1 -1
  15. package/dist/ColorPicker/ColorPicker.js +28 -13
  16. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  17. package/dist/ColorPicker/OptionsColorPicker.d.ts +9 -0
  18. package/dist/ColorPicker/OptionsColorPicker.d.ts.map +1 -0
  19. package/dist/{ThresholdsEditor/ThresholdColorPicker.js → ColorPicker/OptionsColorPicker.js} +18 -15
  20. package/dist/ColorPicker/OptionsColorPicker.js.map +1 -0
  21. package/dist/ColorPicker/index.d.ts +1 -0
  22. package/dist/ColorPicker/index.d.ts.map +1 -1
  23. package/dist/ColorPicker/index.js +1 -0
  24. package/dist/ColorPicker/index.js.map +1 -1
  25. package/dist/ContentWithLegend/ContentWithLegend.d.ts +2 -2
  26. package/dist/ContentWithLegend/ContentWithLegend.d.ts.map +1 -1
  27. package/dist/ContentWithLegend/ContentWithLegend.js +10 -7
  28. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  29. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts +2 -2
  30. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts.map +1 -1
  31. package/dist/ContentWithLegend/model/content-with-legend-model.js +4 -5
  32. package/dist/ContentWithLegend/model/content-with-legend-model.js.map +1 -1
  33. package/dist/DensitySelector/DensitySelector.d.ts +8 -0
  34. package/dist/DensitySelector/DensitySelector.d.ts.map +1 -0
  35. package/dist/DensitySelector/DensitySelector.js +46 -0
  36. package/dist/DensitySelector/DensitySelector.js.map +1 -0
  37. package/dist/DensitySelector/index.d.ts +2 -0
  38. package/dist/DensitySelector/index.d.ts.map +1 -0
  39. package/dist/DensitySelector/index.js +15 -0
  40. package/dist/DensitySelector/index.js.map +1 -0
  41. package/dist/Dialog/Dialog.d.ts +10 -15
  42. package/dist/Dialog/Dialog.d.ts.map +1 -1
  43. package/dist/Dialog/Dialog.js +11 -7
  44. package/dist/Dialog/Dialog.js.map +1 -1
  45. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts +2 -2
  46. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts.map +1 -1
  47. package/dist/Dialog/DiscardChangesConfirmationDialog.js +1 -1
  48. package/dist/Dialog/DiscardChangesConfirmationDialog.js.map +1 -1
  49. package/dist/DragAndDrop/DragAndDropList.d.ts +24 -0
  50. package/dist/DragAndDrop/DragAndDropList.d.ts.map +1 -0
  51. package/dist/DragAndDrop/DragAndDropList.js +153 -0
  52. package/dist/DragAndDrop/DragAndDropList.js.map +1 -0
  53. package/dist/DragAndDrop/DragButton.d.ts +13 -0
  54. package/dist/DragAndDrop/DragButton.d.ts.map +1 -0
  55. package/dist/DragAndDrop/DragButton.js +97 -0
  56. package/dist/DragAndDrop/DragButton.js.map +1 -0
  57. package/dist/DragAndDrop/DropIndicator.d.ts +3 -0
  58. package/dist/DragAndDrop/DropIndicator.d.ts.map +1 -0
  59. package/dist/DragAndDrop/DropIndicator.js +44 -0
  60. package/dist/DragAndDrop/DropIndicator.js.map +1 -0
  61. package/dist/DragAndDrop/index.d.ts +4 -0
  62. package/dist/DragAndDrop/index.d.ts.map +1 -0
  63. package/dist/DragAndDrop/index.js +17 -0
  64. package/dist/DragAndDrop/index.js.map +1 -0
  65. package/dist/DragAndDrop/model.d.ts +11 -0
  66. package/dist/DragAndDrop/model.d.ts.map +1 -0
  67. package/dist/DragAndDrop/model.js +17 -0
  68. package/dist/DragAndDrop/model.js.map +1 -0
  69. package/dist/Drawer/Drawer.d.ts +2 -2
  70. package/dist/Drawer/Drawer.d.ts.map +1 -1
  71. package/dist/Drawer/Drawer.js +2 -2
  72. package/dist/Drawer/Drawer.js.map +1 -1
  73. package/dist/EChart/EChart.d.ts +8 -8
  74. package/dist/EChart/EChart.d.ts.map +1 -1
  75. package/dist/EChart/EChart.js +5 -6
  76. package/dist/EChart/EChart.js.map +1 -1
  77. package/dist/ErrorAlert.d.ts +2 -2
  78. package/dist/ErrorAlert.d.ts.map +1 -1
  79. package/dist/ErrorAlert.js +1 -1
  80. package/dist/ErrorAlert.js.map +1 -1
  81. package/dist/FontSizeSelector/FontSizeSelector.d.ts +3 -3
  82. package/dist/FontSizeSelector/FontSizeSelector.d.ts.map +1 -1
  83. package/dist/FontSizeSelector/FontSizeSelector.js +2 -2
  84. package/dist/FontSizeSelector/FontSizeSelector.js.map +1 -1
  85. package/dist/FormEditor/FormActions.d.ts +16 -0
  86. package/dist/FormEditor/FormActions.d.ts.map +1 -0
  87. package/dist/FormEditor/FormActions.js +75 -0
  88. package/dist/FormEditor/FormActions.js.map +1 -0
  89. package/dist/FormEditor/index.d.ts +2 -0
  90. package/dist/FormEditor/index.d.ts.map +1 -0
  91. package/dist/FormEditor/index.js +15 -0
  92. package/dist/FormEditor/index.js.map +1 -0
  93. package/dist/FormatControls/FormatControls.d.ts +2 -2
  94. package/dist/FormatControls/FormatControls.d.ts.map +1 -1
  95. package/dist/FormatControls/FormatControls.js +3 -3
  96. package/dist/FormatControls/FormatControls.js.map +1 -1
  97. package/dist/GaugeChart/GaugeChart.d.ts +4 -4
  98. package/dist/GaugeChart/GaugeChart.d.ts.map +1 -1
  99. package/dist/GaugeChart/GaugeChart.js +5 -8
  100. package/dist/GaugeChart/GaugeChart.js.map +1 -1
  101. package/dist/InfoTooltip/InfoTooltip.d.ts +4 -4
  102. package/dist/InfoTooltip/InfoTooltip.d.ts.map +1 -1
  103. package/dist/InfoTooltip/InfoTooltip.js +7 -8
  104. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  105. package/dist/JSONEditor.d.ts +3 -3
  106. package/dist/JSONEditor.d.ts.map +1 -1
  107. package/dist/JSONEditor.js.map +1 -1
  108. package/dist/Legend/CompactLegend.d.ts +2 -2
  109. package/dist/Legend/CompactLegend.d.ts.map +1 -1
  110. package/dist/Legend/CompactLegend.js +1 -1
  111. package/dist/Legend/CompactLegend.js.map +1 -1
  112. package/dist/Legend/Legend.d.ts +2 -2
  113. package/dist/Legend/Legend.d.ts.map +1 -1
  114. package/dist/Legend/Legend.js +9 -5
  115. package/dist/Legend/Legend.js.map +1 -1
  116. package/dist/Legend/LegendColorBadge.d.ts +2 -2
  117. package/dist/Legend/LegendColorBadge.d.ts.map +1 -1
  118. package/dist/Legend/LegendColorBadge.js +2 -2
  119. package/dist/Legend/LegendColorBadge.js.map +1 -1
  120. package/dist/Legend/ListLegend.d.ts +2 -2
  121. package/dist/Legend/ListLegend.d.ts.map +1 -1
  122. package/dist/Legend/ListLegend.js +1 -1
  123. package/dist/Legend/ListLegend.js.map +1 -1
  124. package/dist/Legend/ListLegendItem.d.ts +6 -6
  125. package/dist/Legend/ListLegendItem.d.ts.map +1 -1
  126. package/dist/Legend/ListLegendItem.js +11 -19
  127. package/dist/Legend/ListLegendItem.js.map +1 -1
  128. package/dist/Legend/TableLegend.d.ts +2 -2
  129. package/dist/Legend/TableLegend.d.ts.map +1 -1
  130. package/dist/Legend/TableLegend.js +3 -2
  131. package/dist/Legend/TableLegend.js.map +1 -1
  132. package/dist/Legend/legend-model.d.ts +2 -2
  133. package/dist/Legend/legend-model.d.ts.map +1 -1
  134. package/dist/Legend/legend-model.js.map +1 -1
  135. package/dist/LineChart/LineChart.d.ts +1 -1
  136. package/dist/LineChart/LineChart.d.ts.map +1 -1
  137. package/dist/LineChart/LineChart.js +12 -17
  138. package/dist/LineChart/LineChart.js.map +1 -1
  139. package/dist/LinksEditor/LinksEditor.d.ts +8 -0
  140. package/dist/LinksEditor/LinksEditor.d.ts.map +1 -0
  141. package/dist/LinksEditor/LinksEditor.js +161 -0
  142. package/dist/LinksEditor/LinksEditor.js.map +1 -0
  143. package/dist/LinksEditor/index.d.ts +2 -0
  144. package/dist/LinksEditor/index.d.ts.map +1 -0
  145. package/dist/LinksEditor/index.js +15 -0
  146. package/dist/LinksEditor/index.js.map +1 -0
  147. package/dist/ModeSelector/ModeSelector.d.ts +3 -3
  148. package/dist/ModeSelector/ModeSelector.d.ts.map +1 -1
  149. package/dist/ModeSelector/ModeSelector.js +2 -2
  150. package/dist/ModeSelector/ModeSelector.js.map +1 -1
  151. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts +3 -3
  152. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts.map +1 -1
  153. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  154. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  155. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts +3 -3
  156. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts.map +1 -1
  157. package/dist/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  158. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  159. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts +3 -3
  160. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts.map +1 -1
  161. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  162. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  163. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts +3 -3
  164. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts.map +1 -1
  165. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +1 -1
  166. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  167. package/dist/Overlay/Overlay.d.ts +16 -0
  168. package/dist/Overlay/Overlay.d.ts.map +1 -0
  169. package/dist/Overlay/Overlay.js +52 -0
  170. package/dist/Overlay/Overlay.js.map +1 -0
  171. package/dist/Overlay/index.d.ts +2 -0
  172. package/dist/Overlay/index.d.ts.map +1 -0
  173. package/dist/Overlay/index.js +15 -0
  174. package/dist/Overlay/index.js.map +1 -0
  175. package/dist/PieChart/PieChart.d.ts +14 -0
  176. package/dist/PieChart/PieChart.d.ts.map +1 -0
  177. package/dist/PieChart/PieChart.js +92 -0
  178. package/dist/PieChart/PieChart.js.map +1 -0
  179. package/dist/PieChart/index.d.ts +2 -0
  180. package/dist/PieChart/index.d.ts.map +1 -0
  181. package/dist/PieChart/index.js +15 -0
  182. package/dist/PieChart/index.js.map +1 -0
  183. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts +2 -2
  184. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts.map +1 -1
  185. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js +1 -1
  186. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -1
  187. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts +2 -2
  188. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts.map +1 -1
  189. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +8 -7
  190. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -1
  191. package/dist/SortSelector/SortSelector.d.ts +3 -3
  192. package/dist/SortSelector/SortSelector.d.ts.map +1 -1
  193. package/dist/SortSelector/SortSelector.js +2 -2
  194. package/dist/SortSelector/SortSelector.js.map +1 -1
  195. package/dist/SortSelector/SortSelectorButtons.d.ts +9 -0
  196. package/dist/SortSelector/SortSelectorButtons.d.ts.map +1 -0
  197. package/dist/SortSelector/SortSelectorButtons.js +42 -0
  198. package/dist/SortSelector/SortSelectorButtons.js.map +1 -0
  199. package/dist/SortSelector/index.d.ts +1 -0
  200. package/dist/SortSelector/index.d.ts.map +1 -1
  201. package/dist/SortSelector/index.js +2 -1
  202. package/dist/SortSelector/index.js.map +1 -1
  203. package/dist/StatChart/StatChart.d.ts +6 -6
  204. package/dist/StatChart/StatChart.d.ts.map +1 -1
  205. package/dist/StatChart/StatChart.js +12 -18
  206. package/dist/StatChart/StatChart.js.map +1 -1
  207. package/dist/StatChart/calculateFontSize.d.ts.map +1 -1
  208. package/dist/StatChart/calculateFontSize.js +4 -6
  209. package/dist/StatChart/calculateFontSize.js.map +1 -1
  210. package/dist/StatChart/utils/formatStatChartValue.d.ts +3 -0
  211. package/dist/StatChart/utils/formatStatChartValue.d.ts.map +1 -0
  212. package/dist/StatChart/utils/formatStatChartValue.js +26 -0
  213. package/dist/StatChart/utils/formatStatChartValue.js.map +1 -0
  214. package/dist/StatusHistoryChart/StatusHistoryChart.d.ts +27 -0
  215. package/dist/StatusHistoryChart/StatusHistoryChart.d.ts.map +1 -0
  216. package/dist/StatusHistoryChart/StatusHistoryChart.js +132 -0
  217. package/dist/StatusHistoryChart/StatusHistoryChart.js.map +1 -0
  218. package/dist/StatusHistoryChart/StatusHistoryTooltip.d.ts +13 -0
  219. package/dist/StatusHistoryChart/StatusHistoryTooltip.d.ts.map +1 -0
  220. package/dist/StatusHistoryChart/StatusHistoryTooltip.js +47 -0
  221. package/dist/StatusHistoryChart/StatusHistoryTooltip.js.map +1 -0
  222. package/dist/StatusHistoryChart/get-formatted-axis-label.d.ts +2 -0
  223. package/dist/StatusHistoryChart/get-formatted-axis-label.d.ts.map +1 -0
  224. package/dist/StatusHistoryChart/get-formatted-axis-label.js +41 -0
  225. package/dist/StatusHistoryChart/get-formatted-axis-label.js.map +1 -0
  226. package/dist/StatusHistoryChart/index.d.ts +3 -0
  227. package/dist/StatusHistoryChart/index.d.ts.map +1 -0
  228. package/dist/StatusHistoryChart/index.js +16 -0
  229. package/dist/StatusHistoryChart/index.js.map +1 -0
  230. package/dist/StatusHistoryChart/utils/get-color.d.ts +6 -0
  231. package/dist/StatusHistoryChart/utils/get-color.d.ts.map +1 -0
  232. package/dist/StatusHistoryChart/utils/get-color.js +100 -0
  233. package/dist/StatusHistoryChart/utils/get-color.js.map +1 -0
  234. package/dist/StatusHistoryChart/utils/get-tooltip-position.d.ts +3 -0
  235. package/dist/StatusHistoryChart/utils/get-tooltip-position.d.ts.map +1 -0
  236. package/dist/StatusHistoryChart/utils/get-tooltip-position.js +27 -0
  237. package/dist/StatusHistoryChart/utils/get-tooltip-position.js.map +1 -0
  238. package/dist/Table/InnerTable.d.ts +2 -2
  239. package/dist/Table/InnerTable.d.ts.map +1 -1
  240. package/dist/Table/InnerTable.js +4 -3
  241. package/dist/Table/InnerTable.js.map +1 -1
  242. package/dist/Table/Table.d.ts +2 -2
  243. package/dist/Table/Table.d.ts.map +1 -1
  244. package/dist/Table/Table.js +12 -10
  245. package/dist/Table/Table.js.map +1 -1
  246. package/dist/Table/TableBody.d.ts +2 -2
  247. package/dist/Table/TableBody.d.ts.map +1 -1
  248. package/dist/Table/TableCell.d.ts +4 -2
  249. package/dist/Table/TableCell.d.ts.map +1 -1
  250. package/dist/Table/TableCell.js +29 -7
  251. package/dist/Table/TableCell.js.map +1 -1
  252. package/dist/Table/TableCheckbox.d.ts +2 -2
  253. package/dist/Table/TableCheckbox.d.ts.map +1 -1
  254. package/dist/Table/TableCheckbox.js +1 -1
  255. package/dist/Table/TableCheckbox.js.map +1 -1
  256. package/dist/Table/TableHead.d.ts +2 -2
  257. package/dist/Table/TableHead.d.ts.map +1 -1
  258. package/dist/Table/TableHeaderCell.d.ts +3 -3
  259. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  260. package/dist/Table/TableHeaderCell.js +1 -1
  261. package/dist/Table/TableHeaderCell.js.map +1 -1
  262. package/dist/Table/TableRow.d.ts +1 -1
  263. package/dist/Table/TableRow.d.ts.map +1 -1
  264. package/dist/Table/TableRow.js.map +1 -1
  265. package/dist/Table/VirtualizedTable.d.ts +5 -4
  266. package/dist/Table/VirtualizedTable.d.ts.map +1 -1
  267. package/dist/Table/VirtualizedTable.js +18 -15
  268. package/dist/Table/VirtualizedTable.js.map +1 -1
  269. package/dist/Table/VirtualizedTableContainer.d.ts +2 -2
  270. package/dist/Table/VirtualizedTableContainer.d.ts.map +1 -1
  271. package/dist/Table/hooks/useTableKeyboardNav.d.ts +3 -3
  272. package/dist/Table/hooks/useTableKeyboardNav.d.ts.map +1 -1
  273. package/dist/Table/hooks/useTableKeyboardNav.js +2 -2
  274. package/dist/Table/hooks/useTableKeyboardNav.js.map +1 -1
  275. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts +10 -12
  276. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts.map +1 -1
  277. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js +8 -14
  278. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js.map +1 -1
  279. package/dist/Table/index.d.ts +1 -2
  280. package/dist/Table/index.d.ts.map +1 -1
  281. package/dist/Table/index.js +1 -1
  282. package/dist/Table/index.js.map +1 -1
  283. package/dist/Table/model/table-model.d.ts +27 -7
  284. package/dist/Table/model/table-model.d.ts.map +1 -1
  285. package/dist/Table/model/table-model.js +29 -23
  286. package/dist/Table/model/table-model.js.map +1 -1
  287. package/dist/ThresholdsEditor/ThresholdInput.d.ts +2 -2
  288. package/dist/ThresholdsEditor/ThresholdInput.d.ts.map +1 -1
  289. package/dist/ThresholdsEditor/ThresholdInput.js +3 -3
  290. package/dist/ThresholdsEditor/ThresholdInput.js.map +1 -1
  291. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts +2 -2
  292. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts.map +1 -1
  293. package/dist/ThresholdsEditor/ThresholdsEditor.js +20 -27
  294. package/dist/ThresholdsEditor/ThresholdsEditor.js.map +1 -1
  295. package/dist/TimeChart/TimeChart.d.ts.map +1 -1
  296. package/dist/TimeChart/TimeChart.js +12 -15
  297. package/dist/TimeChart/TimeChart.js.map +1 -1
  298. package/dist/TimeRangeSelector/DateTimeRangePicker.d.ts +19 -0
  299. package/dist/TimeRangeSelector/DateTimeRangePicker.d.ts.map +1 -0
  300. package/dist/{DateTimeRangePicker/AbsoluteTimePicker.js → TimeRangeSelector/DateTimeRangePicker.js} +44 -29
  301. package/dist/TimeRangeSelector/DateTimeRangePicker.js.map +1 -0
  302. package/dist/TimeRangeSelector/TimeRangeSelector.d.ts +36 -0
  303. package/dist/TimeRangeSelector/TimeRangeSelector.d.ts.map +1 -0
  304. package/dist/TimeRangeSelector/TimeRangeSelector.js +119 -0
  305. package/dist/TimeRangeSelector/TimeRangeSelector.js.map +1 -0
  306. package/dist/{DateTimeRangePicker → TimeRangeSelector}/index.d.ts +1 -2
  307. package/dist/TimeRangeSelector/index.d.ts.map +1 -0
  308. package/dist/{DateTimeRangePicker → TimeRangeSelector}/index.js +2 -3
  309. package/dist/TimeRangeSelector/index.js.map +1 -0
  310. package/dist/TimeRangeSelector/utils.d.ts +25 -0
  311. package/dist/TimeRangeSelector/utils.d.ts.map +1 -0
  312. package/dist/{DateTimeRangePicker → TimeRangeSelector}/utils.js +23 -2
  313. package/dist/TimeRangeSelector/utils.js.map +1 -0
  314. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts +2 -2
  315. package/dist/TimeSeriesTooltip/LineChartTooltip.d.ts.map +1 -1
  316. package/dist/TimeSeriesTooltip/LineChartTooltip.js +8 -13
  317. package/dist/TimeSeriesTooltip/LineChartTooltip.js.map +1 -1
  318. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts +2 -2
  319. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts.map +1 -1
  320. package/dist/TimeSeriesTooltip/SeriesInfo.js +2 -3
  321. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -1
  322. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts +2 -2
  323. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts.map +1 -1
  324. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js +1 -1
  325. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -1
  326. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts +2 -2
  327. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts.map +1 -1
  328. package/dist/TimeSeriesTooltip/SeriesMarker.js +1 -1
  329. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -1
  330. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts +2 -2
  331. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts.map +1 -1
  332. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +4 -5
  333. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -1
  334. package/dist/TimeSeriesTooltip/TooltipContent.d.ts +2 -2
  335. package/dist/TimeSeriesTooltip/TooltipContent.d.ts.map +1 -1
  336. package/dist/TimeSeriesTooltip/TooltipContent.js +2 -2
  337. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -1
  338. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts.map +1 -1
  339. package/dist/TimeSeriesTooltip/TooltipHeader.js +7 -15
  340. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  341. package/dist/TimeSeriesTooltip/nearby-series.d.ts +1 -1
  342. package/dist/TimeSeriesTooltip/nearby-series.d.ts.map +1 -1
  343. package/dist/TimeSeriesTooltip/nearby-series.js +19 -29
  344. package/dist/TimeSeriesTooltip/nearby-series.js.map +1 -1
  345. package/dist/TimeSeriesTooltip/tooltip-model.d.ts +10 -3
  346. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -1
  347. package/dist/TimeSeriesTooltip/tooltip-model.js +13 -2
  348. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  349. package/dist/TimeSeriesTooltip/utils.d.ts +1 -21
  350. package/dist/TimeSeriesTooltip/utils.d.ts.map +1 -1
  351. package/dist/TimeSeriesTooltip/utils.js +2 -4
  352. package/dist/TimeSeriesTooltip/utils.js.map +1 -1
  353. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts +6 -0
  354. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts.map +1 -0
  355. package/dist/ToolbarIconButton/ToolbarIconButton.js +32 -0
  356. package/dist/ToolbarIconButton/ToolbarIconButton.js.map +1 -0
  357. package/dist/ToolbarIconButton/index.d.ts +2 -0
  358. package/dist/ToolbarIconButton/index.d.ts.map +1 -0
  359. package/dist/ToolbarIconButton/index.js +15 -0
  360. package/dist/ToolbarIconButton/index.js.map +1 -0
  361. package/dist/TransformsEditor/TransformEditor.d.ts +9 -0
  362. package/dist/TransformsEditor/TransformEditor.d.ts.map +1 -0
  363. package/dist/TransformsEditor/TransformEditor.js +289 -0
  364. package/dist/TransformsEditor/TransformEditor.js.map +1 -0
  365. package/dist/TransformsEditor/TransformEditorContainer.d.ts +10 -0
  366. package/dist/TransformsEditor/TransformEditorContainer.d.ts.map +1 -0
  367. package/dist/TransformsEditor/TransformEditorContainer.js +118 -0
  368. package/dist/TransformsEditor/TransformEditorContainer.js.map +1 -0
  369. package/dist/TransformsEditor/TransformsEditor.d.ts +9 -0
  370. package/dist/TransformsEditor/TransformsEditor.d.ts.map +1 -0
  371. package/dist/TransformsEditor/TransformsEditor.js +90 -0
  372. package/dist/TransformsEditor/TransformsEditor.js.map +1 -0
  373. package/dist/TransformsEditor/index.d.ts +2 -0
  374. package/dist/TransformsEditor/index.d.ts.map +1 -0
  375. package/dist/TransformsEditor/index.js +15 -0
  376. package/dist/TransformsEditor/index.js.map +1 -0
  377. package/dist/ValueMappingEditor/ValueMappingEditor.d.ts +10 -0
  378. package/dist/ValueMappingEditor/ValueMappingEditor.d.ts.map +1 -0
  379. package/dist/ValueMappingEditor/ValueMappingEditor.js +374 -0
  380. package/dist/ValueMappingEditor/ValueMappingEditor.js.map +1 -0
  381. package/dist/ValueMappingEditor/ValueMappingsEditor.d.ts +8 -0
  382. package/dist/ValueMappingEditor/ValueMappingsEditor.d.ts.map +1 -0
  383. package/dist/ValueMappingEditor/ValueMappingsEditor.js +118 -0
  384. package/dist/ValueMappingEditor/ValueMappingsEditor.js.map +1 -0
  385. package/dist/ValueMappingEditor/index.d.ts +2 -0
  386. package/dist/ValueMappingEditor/index.d.ts.map +1 -0
  387. package/dist/ValueMappingEditor/index.js +15 -0
  388. package/dist/ValueMappingEditor/index.js.map +1 -0
  389. package/dist/YAxisLabel.d.ts +2 -2
  390. package/dist/YAxisLabel.d.ts.map +1 -1
  391. package/dist/YAxisLabel.js +5 -3
  392. package/dist/YAxisLabel.js.map +1 -1
  393. package/dist/cjs/AlignSelector/AlignSelector.js +50 -0
  394. package/dist/cjs/AlignSelector/index.js +30 -0
  395. package/dist/cjs/BarChart/BarChart.js +14 -9
  396. package/dist/cjs/ColorPicker/ColorPicker.js +28 -52
  397. package/dist/cjs/{ThresholdsEditor/ThresholdColorPicker.js → ColorPicker/OptionsColorPicker.js} +19 -16
  398. package/dist/cjs/ColorPicker/index.js +1 -0
  399. package/dist/cjs/ContentWithLegend/ContentWithLegend.js +10 -12
  400. package/dist/cjs/ContentWithLegend/model/content-with-legend-model.js +4 -5
  401. package/dist/cjs/DensitySelector/DensitySelector.js +54 -0
  402. package/dist/cjs/DensitySelector/index.js +30 -0
  403. package/dist/cjs/Dialog/Dialog.js +11 -7
  404. package/dist/cjs/Dialog/DiscardChangesConfirmationDialog.js +1 -1
  405. package/dist/cjs/DragAndDrop/DragAndDropList.js +159 -0
  406. package/dist/cjs/DragAndDrop/DragButton.js +121 -0
  407. package/dist/cjs/DragAndDrop/DropIndicator.js +52 -0
  408. package/dist/cjs/DragAndDrop/index.js +32 -0
  409. package/dist/cjs/DragAndDrop/model.js +25 -0
  410. package/dist/cjs/Drawer/Drawer.js +2 -2
  411. package/dist/cjs/EChart/EChart.js +5 -45
  412. package/dist/cjs/ErrorAlert.js +1 -1
  413. package/dist/cjs/FontSizeSelector/FontSizeSelector.js +2 -2
  414. package/dist/cjs/FormEditor/FormActions.js +83 -0
  415. package/dist/cjs/FormEditor/index.js +30 -0
  416. package/dist/cjs/FormatControls/FormatControls.js +3 -3
  417. package/dist/cjs/GaugeChart/GaugeChart.js +6 -9
  418. package/dist/cjs/InfoTooltip/InfoTooltip.js +7 -13
  419. package/dist/cjs/Legend/CompactLegend.js +1 -1
  420. package/dist/cjs/Legend/Legend.js +9 -5
  421. package/dist/cjs/Legend/LegendColorBadge.js +2 -7
  422. package/dist/cjs/Legend/ListLegend.js +1 -1
  423. package/dist/cjs/Legend/ListLegendItem.js +9 -55
  424. package/dist/cjs/Legend/TableLegend.js +3 -2
  425. package/dist/cjs/LineChart/LineChart.js +13 -18
  426. package/dist/cjs/LinksEditor/LinksEditor.js +174 -0
  427. package/dist/cjs/LinksEditor/index.js +30 -0
  428. package/dist/cjs/ModeSelector/ModeSelector.js +2 -2
  429. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  430. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +1 -1
  431. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  432. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +1 -1
  433. package/dist/cjs/Overlay/Overlay.js +71 -0
  434. package/dist/cjs/Overlay/index.js +30 -0
  435. package/dist/cjs/PieChart/PieChart.js +100 -0
  436. package/dist/cjs/PieChart/index.js +30 -0
  437. package/dist/cjs/RefreshIntervalPicker/RefreshIntervalPicker.js +1 -1
  438. package/dist/cjs/SettingsAutocomplete/SettingsAutocomplete.js +8 -7
  439. package/dist/cjs/SortSelector/SortSelector.js +2 -2
  440. package/dist/cjs/SortSelector/SortSelectorButtons.js +50 -0
  441. package/dist/cjs/SortSelector/index.js +2 -1
  442. package/dist/cjs/StatChart/StatChart.js +15 -21
  443. package/dist/cjs/StatChart/calculateFontSize.js +4 -6
  444. package/dist/cjs/StatChart/utils/formatStatChartValue.js +34 -0
  445. package/dist/cjs/StatusHistoryChart/StatusHistoryChart.js +140 -0
  446. package/dist/cjs/StatusHistoryChart/StatusHistoryTooltip.js +55 -0
  447. package/dist/cjs/StatusHistoryChart/get-formatted-axis-label.js +48 -0
  448. package/dist/cjs/StatusHistoryChart/index.js +31 -0
  449. package/dist/cjs/StatusHistoryChart/utils/get-color.js +125 -0
  450. package/dist/cjs/StatusHistoryChart/utils/get-tooltip-position.js +35 -0
  451. package/dist/cjs/Table/InnerTable.js +4 -3
  452. package/dist/cjs/Table/Table.js +11 -9
  453. package/dist/cjs/Table/TableCell.js +29 -7
  454. package/dist/cjs/Table/TableCheckbox.js +1 -1
  455. package/dist/cjs/Table/TableHeaderCell.js +1 -1
  456. package/dist/cjs/Table/VirtualizedTable.js +18 -15
  457. package/dist/cjs/Table/hooks/useTableKeyboardNav.js +2 -2
  458. package/dist/cjs/Table/hooks/useVirtualizedTableKeyboardNav.js +8 -14
  459. package/dist/cjs/Table/index.js +1 -7
  460. package/dist/cjs/Table/model/table-model.js +32 -23
  461. package/dist/cjs/ThresholdsEditor/ThresholdInput.js +3 -3
  462. package/dist/cjs/ThresholdsEditor/ThresholdsEditor.js +23 -28
  463. package/dist/cjs/TimeChart/TimeChart.js +12 -15
  464. package/dist/cjs/{DateTimeRangePicker/AbsoluteTimePicker.js → TimeRangeSelector/DateTimeRangePicker.js} +37 -30
  465. package/dist/cjs/TimeRangeSelector/TimeRangeSelector.js +127 -0
  466. package/dist/cjs/{DateTimeRangePicker → TimeRangeSelector}/index.js +2 -3
  467. package/dist/cjs/{DateTimeRangePicker → TimeRangeSelector}/utils.js +26 -3
  468. package/dist/cjs/TimeSeriesTooltip/LineChartTooltip.js +8 -13
  469. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.js +2 -3
  470. package/dist/cjs/TimeSeriesTooltip/SeriesLabelsStack.js +1 -1
  471. package/dist/cjs/TimeSeriesTooltip/SeriesMarker.js +1 -1
  472. package/dist/cjs/TimeSeriesTooltip/TimeChartTooltip.js +4 -5
  473. package/dist/cjs/TimeSeriesTooltip/TooltipContent.js +2 -2
  474. package/dist/cjs/TimeSeriesTooltip/TooltipHeader.js +7 -15
  475. package/dist/cjs/TimeSeriesTooltip/nearby-series.js +29 -39
  476. package/dist/cjs/TimeSeriesTooltip/tooltip-model.js +49 -29
  477. package/dist/cjs/TimeSeriesTooltip/utils.js +2 -4
  478. package/dist/cjs/ToolbarIconButton/ToolbarIconButton.js +40 -0
  479. package/dist/cjs/ToolbarIconButton/index.js +30 -0
  480. package/dist/cjs/TransformsEditor/TransformEditor.js +297 -0
  481. package/dist/cjs/TransformsEditor/TransformEditorContainer.js +131 -0
  482. package/dist/cjs/TransformsEditor/TransformsEditor.js +103 -0
  483. package/dist/cjs/TransformsEditor/index.js +30 -0
  484. package/dist/cjs/ValueMappingEditor/ValueMappingEditor.js +387 -0
  485. package/dist/cjs/ValueMappingEditor/ValueMappingsEditor.js +131 -0
  486. package/dist/cjs/ValueMappingEditor/index.js +30 -0
  487. package/dist/cjs/YAxisLabel.js +5 -3
  488. package/dist/cjs/context/ChartsProvider.js +4 -2
  489. package/dist/cjs/context/SnackbarProvider.js +1 -1
  490. package/dist/cjs/context/TimeZoneProvider.js +5 -3
  491. package/dist/cjs/controls/TextField.js +54 -0
  492. package/dist/cjs/controls/index.js +30 -0
  493. package/dist/cjs/index.js +13 -1
  494. package/dist/cjs/model/graph.js +3 -3
  495. package/dist/cjs/model/timeOption.js +19 -1
  496. package/dist/cjs/test-utils/theme.js +3 -3
  497. package/dist/cjs/theme/component-overrides/alert.js +4 -4
  498. package/dist/cjs/theme/component-overrides/paper.js +1 -1
  499. package/dist/cjs/theme/index.js +1 -0
  500. package/dist/cjs/theme/palette/background.js +2 -0
  501. package/dist/cjs/theme/palette/colors/common.js +3 -3
  502. package/dist/cjs/theme/theme.js +7 -7
  503. package/dist/cjs/utils/axis.js +3 -3
  504. package/dist/cjs/utils/chart-actions.js +14 -15
  505. package/dist/cjs/utils/format.js +21 -3
  506. package/dist/cjs/utils/mathjs.js +1 -1
  507. package/dist/cjs/utils/theme-gen.js +5 -7
  508. package/dist/context/ChartsProvider.d.ts +2 -2
  509. package/dist/context/ChartsProvider.d.ts.map +1 -1
  510. package/dist/context/ChartsProvider.js +1 -1
  511. package/dist/context/ChartsProvider.js.map +1 -1
  512. package/dist/context/SnackbarProvider.d.ts +2 -2
  513. package/dist/context/SnackbarProvider.d.ts.map +1 -1
  514. package/dist/context/SnackbarProvider.js +1 -1
  515. package/dist/context/SnackbarProvider.js.map +1 -1
  516. package/dist/context/TimeZoneProvider.d.ts +4 -4
  517. package/dist/context/TimeZoneProvider.d.ts.map +1 -1
  518. package/dist/context/TimeZoneProvider.js +2 -2
  519. package/dist/context/TimeZoneProvider.js.map +1 -1
  520. package/dist/controls/TextField.d.ts +9 -0
  521. package/dist/controls/TextField.d.ts.map +1 -0
  522. package/dist/controls/TextField.js +41 -0
  523. package/dist/controls/TextField.js.map +1 -0
  524. package/dist/controls/index.d.ts +2 -0
  525. package/dist/controls/index.d.ts.map +1 -0
  526. package/dist/controls/index.js +15 -0
  527. package/dist/controls/index.js.map +1 -0
  528. package/dist/index.d.ts +13 -1
  529. package/dist/index.d.ts.map +1 -1
  530. package/dist/index.js +13 -1
  531. package/dist/index.js.map +1 -1
  532. package/dist/model/graph.d.ts +8 -8
  533. package/dist/model/graph.d.ts.map +1 -1
  534. package/dist/model/theme.d.ts +1 -1
  535. package/dist/model/theme.d.ts.map +1 -1
  536. package/dist/model/theme.js.map +1 -1
  537. package/dist/model/timeOption.d.ts +2 -1
  538. package/dist/model/timeOption.d.ts.map +1 -1
  539. package/dist/model/timeOption.js +13 -2
  540. package/dist/model/timeOption.js.map +1 -1
  541. package/dist/test/render.d.ts +3 -3
  542. package/dist/test/render.d.ts.map +1 -1
  543. package/dist/test/render.js.map +1 -1
  544. package/dist/test/setup-tests.js.map +1 -1
  545. package/dist/theme/component-overrides/alert.js +4 -4
  546. package/dist/theme/component-overrides/alert.js.map +1 -1
  547. package/dist/theme/component-overrides/paper.js +1 -1
  548. package/dist/theme/component-overrides/paper.js.map +1 -1
  549. package/dist/theme/index.d.ts +2 -0
  550. package/dist/theme/index.d.ts.map +1 -1
  551. package/dist/theme/index.js +1 -0
  552. package/dist/theme/index.js.map +1 -1
  553. package/dist/theme/palette/background.d.ts.map +1 -1
  554. package/dist/theme/palette/background.js +2 -0
  555. package/dist/theme/palette/background.js.map +1 -1
  556. package/dist/theme/palette/colors/types.d.ts +1 -1
  557. package/dist/theme/palette/colors/types.d.ts.map +1 -1
  558. package/dist/theme/palette/colors/types.js.map +1 -1
  559. package/dist/theme/theme.d.ts +2 -2
  560. package/dist/theme/theme.d.ts.map +1 -1
  561. package/dist/theme/theme.js +6 -6
  562. package/dist/theme/theme.js.map +1 -1
  563. package/dist/theme/types/ThemeExtension.d.js.map +1 -1
  564. package/dist/utils/axis.d.ts +1 -7
  565. package/dist/utils/axis.d.ts.map +1 -1
  566. package/dist/utils/axis.js.map +1 -1
  567. package/dist/utils/chart-actions.d.ts.map +1 -1
  568. package/dist/utils/chart-actions.js +2 -3
  569. package/dist/utils/chart-actions.js.map +1 -1
  570. package/dist/utils/combine-sx.js.map +1 -1
  571. package/dist/utils/component-ids.d.ts.map +1 -1
  572. package/dist/utils/component-ids.js.map +1 -1
  573. package/dist/utils/format.d.ts +10 -4
  574. package/dist/utils/format.d.ts.map +1 -1
  575. package/dist/utils/format.js +16 -1
  576. package/dist/utils/format.js.map +1 -1
  577. package/dist/utils/mathjs.js +1 -1
  578. package/dist/utils/mathjs.js.map +1 -1
  579. package/dist/utils/theme-gen.d.ts +1 -1
  580. package/dist/utils/theme-gen.d.ts.map +1 -1
  581. package/dist/utils/theme-gen.js +5 -7
  582. package/dist/utils/theme-gen.js.map +1 -1
  583. package/package.json +13 -9
  584. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts +0 -10
  585. package/dist/DateTimeRangePicker/AbsoluteTimePicker.d.ts.map +0 -1
  586. package/dist/DateTimeRangePicker/AbsoluteTimePicker.js.map +0 -1
  587. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts +0 -12
  588. package/dist/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +0 -1
  589. package/dist/DateTimeRangePicker/DateTimeRangePicker.js +0 -80
  590. package/dist/DateTimeRangePicker/DateTimeRangePicker.js.map +0 -1
  591. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts +0 -14
  592. package/dist/DateTimeRangePicker/TimeRangeSelector.d.ts.map +0 -1
  593. package/dist/DateTimeRangePicker/TimeRangeSelector.js +0 -67
  594. package/dist/DateTimeRangePicker/TimeRangeSelector.js.map +0 -1
  595. package/dist/DateTimeRangePicker/index.d.ts.map +0 -1
  596. package/dist/DateTimeRangePicker/index.js.map +0 -1
  597. package/dist/DateTimeRangePicker/utils.d.ts +0 -7
  598. package/dist/DateTimeRangePicker/utils.d.ts.map +0 -1
  599. package/dist/DateTimeRangePicker/utils.js.map +0 -1
  600. package/dist/ThresholdsEditor/ThresholdColorPicker.d.ts +0 -4
  601. package/dist/ThresholdsEditor/ThresholdColorPicker.d.ts.map +0 -1
  602. package/dist/ThresholdsEditor/ThresholdColorPicker.js.map +0 -1
  603. package/dist/cjs/DateTimeRangePicker/DateTimeRangePicker.js +0 -88
  604. package/dist/cjs/DateTimeRangePicker/TimeRangeSelector.js +0 -80
@@ -0,0 +1,75 @@
1
+ // Copyright 2024 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
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
+ import { Button, Divider, Stack } from '@mui/material';
15
+ export function FormActions({ action, submitText = 'Save', cancelText = 'Cancel', isReadonly, isValid, onActionChange, onSubmit, onDelete, onCancel, ...props }) {
16
+ return /*#__PURE__*/ _jsx(Stack, {
17
+ direction: "row",
18
+ gap: 1,
19
+ sx: {
20
+ marginLeft: 'auto'
21
+ },
22
+ ...props,
23
+ children: action === 'read' ? /*#__PURE__*/ _jsxs(_Fragment, {
24
+ children: [
25
+ onActionChange && /*#__PURE__*/ _jsx(Button, {
26
+ disabled: isReadonly,
27
+ variant: "contained",
28
+ onClick: ()=>onActionChange('update'),
29
+ children: "Edit"
30
+ }),
31
+ onDelete && /*#__PURE__*/ _jsx(Button, {
32
+ color: "error",
33
+ disabled: isReadonly,
34
+ variant: "outlined",
35
+ onClick: onDelete,
36
+ children: "Delete"
37
+ }),
38
+ onCancel && (onSubmit || onDelete) && /*#__PURE__*/ _jsx(Divider, {
39
+ orientation: "vertical",
40
+ flexItem: true,
41
+ sx: {
42
+ borderColor: (theme)=>theme.palette.grey['500'],
43
+ '&.MuiDivider-root': {
44
+ marginLeft: 2,
45
+ marginRight: 1
46
+ }
47
+ }
48
+ }),
49
+ onCancel && /*#__PURE__*/ _jsx(Button, {
50
+ color: "secondary",
51
+ variant: "outlined",
52
+ onClick: onCancel,
53
+ children: cancelText
54
+ })
55
+ ]
56
+ }) : /*#__PURE__*/ _jsxs(_Fragment, {
57
+ children: [
58
+ onSubmit && /*#__PURE__*/ _jsx(Button, {
59
+ variant: "contained",
60
+ disabled: !isValid,
61
+ onClick: onSubmit,
62
+ children: submitText
63
+ }),
64
+ onCancel && /*#__PURE__*/ _jsx(Button, {
65
+ color: "secondary",
66
+ variant: "outlined",
67
+ onClick: onCancel,
68
+ children: cancelText
69
+ })
70
+ ]
71
+ })
72
+ });
73
+ }
74
+
75
+ //# sourceMappingURL=FormActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/FormEditor/FormActions.tsx"],"sourcesContent":["// Copyright 2024 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Button, Divider, Stack, StackProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { Action } from '@perses-dev/core';\n\nexport interface FormActionsProps extends StackProps {\n action: Action;\n submitText?: string;\n cancelText?: string;\n isReadonly?: boolean;\n isValid?: boolean;\n onActionChange?: (action: Action) => void;\n onSubmit?: () => void;\n onDelete?: () => void;\n onCancel?: () => void;\n}\n\nexport function FormActions({\n action,\n submitText = 'Save',\n cancelText = 'Cancel',\n isReadonly,\n isValid,\n onActionChange,\n onSubmit,\n onDelete,\n onCancel,\n ...props\n}: FormActionsProps): ReactElement {\n return (\n <Stack direction=\"row\" gap={1} sx={{ marginLeft: 'auto' }} {...props}>\n {action === 'read' ? (\n <>\n {onActionChange && (\n <Button disabled={isReadonly} variant=\"contained\" onClick={() => onActionChange('update')}>\n Edit\n </Button>\n )}\n {onDelete && (\n <Button color=\"error\" disabled={isReadonly} variant=\"outlined\" onClick={onDelete}>\n Delete\n </Button>\n )}\n {onCancel && (onSubmit || onDelete) && (\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: (theme) => theme.palette.grey['500'],\n '&.MuiDivider-root': {\n marginLeft: 2,\n marginRight: 1,\n },\n }}\n />\n )}\n {onCancel && (\n <Button color=\"secondary\" variant=\"outlined\" onClick={onCancel}>\n {cancelText}\n </Button>\n )}\n </>\n ) : (\n <>\n {onSubmit && (\n <Button variant=\"contained\" disabled={!isValid} onClick={onSubmit}>\n {submitText}\n </Button>\n )}\n {onCancel && (\n <Button color=\"secondary\" variant=\"outlined\" onClick={onCancel}>\n {cancelText}\n </Button>\n )}\n </>\n )}\n </Stack>\n );\n}\n"],"names":["Button","Divider","Stack","FormActions","action","submitText","cancelText","isReadonly","isValid","onActionChange","onSubmit","onDelete","onCancel","props","direction","gap","sx","marginLeft","disabled","variant","onClick","color","orientation","flexItem","borderColor","theme","palette","grey","marginRight"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,MAAM,EAAEC,OAAO,EAAEC,KAAK,QAAoB,gBAAgB;AAgBnE,OAAO,SAASC,YAAY,EAC1BC,MAAM,EACNC,aAAa,MAAM,EACnBC,aAAa,QAAQ,EACrBC,UAAU,EACVC,OAAO,EACPC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACR,GAAGC,OACc;IACjB,qBACE,KAACX;QAAMY,WAAU;QAAMC,KAAK;QAAGC,IAAI;YAAEC,YAAY;QAAO;QAAI,GAAGJ,KAAK;kBACjET,WAAW,uBACV;;gBACGK,gCACC,KAACT;oBAAOkB,UAAUX;oBAAYY,SAAQ;oBAAYC,SAAS,IAAMX,eAAe;8BAAW;;gBAI5FE,0BACC,KAACX;oBAAOqB,OAAM;oBAAQH,UAAUX;oBAAYY,SAAQ;oBAAWC,SAAST;8BAAU;;gBAInFC,YAAaF,CAAAA,YAAYC,QAAO,mBAC/B,KAACV;oBACCqB,aAAY;oBACZC,QAAQ;oBACRP,IAAI;wBACFQ,aAAa,CAACC,QAAUA,MAAMC,OAAO,CAACC,IAAI,CAAC,MAAM;wBACjD,qBAAqB;4BACnBV,YAAY;4BACZW,aAAa;wBACf;oBACF;;gBAGHhB,0BACC,KAACZ;oBAAOqB,OAAM;oBAAYF,SAAQ;oBAAWC,SAASR;8BACnDN;;;2BAKP;;gBACGI,0BACC,KAACV;oBAAOmB,SAAQ;oBAAYD,UAAU,CAACV;oBAASY,SAASV;8BACtDL;;gBAGJO,0BACC,KAACZ;oBAAOqB,OAAM;oBAAYF,SAAQ;oBAAWC,SAASR;8BACnDN;;;;;AAOf"}
@@ -0,0 +1,2 @@
1
+ export * from './FormActions';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/FormEditor/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ // Copyright 2024 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
+ export * from './FormActions';
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/FormEditor/index.ts"],"sourcesContent":["// Copyright 2024 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './FormActions';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,gBAAgB"}
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
2
1
  import { FormatOptions } from '@perses-dev/core';
2
+ import { ReactElement } from 'react';
3
3
  export interface FormatControlsProps {
4
4
  value: FormatOptions;
5
5
  onChange: (unit: FormatOptions) => void;
6
6
  disabled?: boolean;
7
7
  }
8
- export declare function FormatControls({ value, onChange, disabled }: FormatControlsProps): JSX.Element;
8
+ export declare function FormatControls({ value, onChange, disabled }: FormatControlsProps): ReactElement;
9
9
  //# sourceMappingURL=FormatControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormatControls.d.ts","sourceRoot":"","sources":["../../src/FormatControls/FormatControls.tsx"],"names":[],"mappings":";AAaA,OAAO,EAEL,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0BD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,EAAE,mBAAmB,eAsExF"}
1
+ {"version":3,"file":"FormatControls.d.ts","sourceRoot":"","sources":["../../src/FormatControls/FormatControls.tsx"],"names":[],"mappings":"AAaA,OAAO,EAEL,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIrC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,EAAE,mBAAmB,GAAG,YAAY,CA4EvG"}
@@ -56,7 +56,7 @@ const DECIMAL_PLACES_OPTIONS = [
56
56
  function getOptionByDecimalPlaces(decimalPlaces) {
57
57
  return DECIMAL_PLACES_OPTIONS.find((o)=>o.decimalPlaces === decimalPlaces);
58
58
  }
59
- export function FormatControls({ value , onChange , disabled =false }) {
59
+ export function FormatControls({ value, onChange, disabled = false }) {
60
60
  const hasDecimalPlaces = isUnitWithDecimalPlaces(value);
61
61
  const hasShortValues = isUnitWithShortValues(value);
62
62
  const handleKindChange = (_, newValue)=>{
@@ -64,7 +64,7 @@ export function FormatControls({ value , onChange , disabled =false }) {
64
64
  unit: newValue.id
65
65
  });
66
66
  };
67
- const handleDecimalPlacesChange = (_, { decimalPlaces })=>{
67
+ const handleDecimalPlacesChange = ({ decimalPlaces })=>{
68
68
  if (hasDecimalPlaces) {
69
69
  onChange({
70
70
  ...value,
@@ -111,7 +111,7 @@ export function FormatControls({ value , onChange , disabled =false }) {
111
111
  value: getOptionByDecimalPlaces(value.decimalPlaces),
112
112
  options: DECIMAL_PLACES_OPTIONS,
113
113
  getOptionLabel: (o)=>o.label,
114
- onChange: handleDecimalPlacesChange,
114
+ onChange: (_, value)=>handleDecimalPlacesChange(value),
115
115
  disabled: !hasDecimalPlaces,
116
116
  disableClearable: true
117
117
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/FormatControls/FormatControls.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Switch, SwitchProps } from '@mui/material';\nimport {\n shouldShortenValues,\n FormatOptions,\n UNIT_CONFIG,\n UnitConfig,\n isUnitWithDecimalPlaces,\n isUnitWithShortValues,\n} from '@perses-dev/core';\nimport { OptionsEditorControl } from '../OptionsEditorLayout';\nimport { SettingsAutocomplete } from '../SettingsAutocomplete';\n\nexport interface FormatControlsProps {\n value: FormatOptions;\n onChange: (unit: FormatOptions) => void;\n disabled?: boolean;\n}\n\ntype AutocompleteUnitOption = UnitConfig & { id: FormatOptions['unit'] };\n\nconst KIND_OPTIONS: AutocompleteUnitOption[] = Object.entries(UNIT_CONFIG)\n .map(([id, config]) => {\n return {\n id: id as FormatOptions['unit'],\n ...config,\n };\n })\n .filter((config) => !config.disableSelectorOption);\n\nconst DECIMAL_PLACES_OPTIONS = [\n { id: 'default', label: 'Default', decimalPlaces: undefined },\n { id: '0', label: '0', decimalPlaces: 0 },\n { id: '1', label: '1', decimalPlaces: 1 },\n { id: '2', label: '2', decimalPlaces: 2 },\n { id: '3', label: '3', decimalPlaces: 3 },\n { id: '4', label: '4', decimalPlaces: 4 },\n];\n\nfunction getOptionByDecimalPlaces(decimalPlaces?: number) {\n return DECIMAL_PLACES_OPTIONS.find((o) => o.decimalPlaces === decimalPlaces);\n}\n\nexport function FormatControls({ value, onChange, disabled = false }: FormatControlsProps) {\n const hasDecimalPlaces = isUnitWithDecimalPlaces(value);\n const hasShortValues = isUnitWithShortValues(value);\n\n const handleKindChange = (_: unknown, newValue: AutocompleteUnitOption) => {\n onChange({\n unit: newValue.id,\n });\n };\n\n const handleDecimalPlacesChange = (_: unknown, { decimalPlaces }: { decimalPlaces: number | undefined }) => {\n if (hasDecimalPlaces) {\n onChange({\n ...value,\n decimalPlaces: decimalPlaces,\n });\n }\n };\n\n const handleShortValuesChange: SwitchProps['onChange'] = (_: unknown, checked: boolean) => {\n if (hasShortValues) {\n onChange({\n ...value,\n shortValues: checked,\n });\n }\n };\n\n const unitConfig = UNIT_CONFIG[value.unit];\n\n return (\n <>\n <OptionsEditorControl\n label=\"Short values\"\n control={\n <Switch\n checked={hasShortValues ? shouldShortenValues(value.shortValues) : false}\n onChange={handleShortValuesChange}\n disabled={!hasShortValues}\n />\n }\n />\n <OptionsEditorControl\n label=\"Unit\"\n control={\n <SettingsAutocomplete\n value={{ id: value.unit, ...unitConfig }}\n options={KIND_OPTIONS}\n groupBy={(option) => option.group}\n onChange={handleKindChange}\n disableClearable\n disabled={disabled}\n ></SettingsAutocomplete>\n }\n />\n <OptionsEditorControl\n label=\"Decimals\"\n control={\n <SettingsAutocomplete\n value={getOptionByDecimalPlaces(value.decimalPlaces)}\n options={DECIMAL_PLACES_OPTIONS}\n getOptionLabel={(o) => o.label}\n onChange={handleDecimalPlacesChange}\n disabled={!hasDecimalPlaces}\n disableClearable\n />\n }\n />\n </>\n );\n}\n"],"names":["Switch","shouldShortenValues","UNIT_CONFIG","isUnitWithDecimalPlaces","isUnitWithShortValues","OptionsEditorControl","SettingsAutocomplete","KIND_OPTIONS","Object","entries","map","id","config","filter","disableSelectorOption","DECIMAL_PLACES_OPTIONS","label","decimalPlaces","undefined","getOptionByDecimalPlaces","find","o","FormatControls","value","onChange","disabled","hasDecimalPlaces","hasShortValues","handleKindChange","_","newValue","unit","handleDecimalPlacesChange","handleShortValuesChange","checked","shortValues","unitConfig","control","options","groupBy","option","group","disableClearable","getOptionLabel"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AACjC,SAASA,MAAM,QAAqB,gBAAgB;AACpD,SACEC,mBAAmB,EAEnBC,WAAW,EAEXC,uBAAuB,EACvBC,qBAAqB,QAChB,mBAAmB;AAC1B,SAASC,oBAAoB,QAAQ,yBAAyB;AAC9D,SAASC,oBAAoB,QAAQ,0BAA0B;AAU/D,MAAMC,eAAyCC,OAAOC,QAAQP,aAC3DQ,IAAI,CAAC,CAACC,IAAIC,OAAO;IAChB,OAAO;QACLD,IAAIA;QACJ,GAAGC,MAAM;IACX;AACF,GACCC,OAAO,CAACD,SAAW,CAACA,OAAOE;AAE9B,MAAMC,yBAAyB;IAC7B;QAAEJ,IAAI;QAAWK,OAAO;QAAWC,eAAeC;IAAU;IAC5D;QAAEP,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;CACzC;AAED,SAASE,yBAAyBF,aAAsB;IACtD,OAAOF,uBAAuBK,KAAK,CAACC,IAAMA,EAAEJ,kBAAkBA;AAChE;AAEA,OAAO,SAASK,eAAe,EAAEC,MAAK,EAAEC,SAAQ,EAAEC,UAAW,MAAK,EAAuB;IACvF,MAAMC,mBAAmBvB,wBAAwBoB;IACjD,MAAMI,iBAAiBvB,sBAAsBmB;IAE7C,MAAMK,mBAAmB,CAACC,GAAYC;QACpCN,SAAS;YACPO,MAAMD,SAASnB;QACjB;IACF;IAEA,MAAMqB,4BAA4B,CAACH,GAAY,EAAEZ,cAAa,EAAyC;QACrG,IAAIS,kBAAkB;YACpBF,SAAS;gBACP,GAAGD,KAAK;gBACRN,eAAeA;YACjB;QACF;IACF;IAEA,MAAMgB,0BAAmD,CAACJ,GAAYK;QACpE,IAAIP,gBAAgB;YAClBH,SAAS;gBACP,GAAGD,KAAK;gBACRY,aAAaD;YACf;QACF;IACF;IAEA,MAAME,aAAalC,WAAW,CAACqB,MAAMQ,KAAK;IAE1C,qBACE;;0BACE,KAAC1B;gBACCW,OAAM;gBACNqB,uBACE,KAACrC;oBACCkC,SAASP,iBAAiB1B,oBAAoBsB,MAAMY,eAAe;oBACnEX,UAAUS;oBACVR,UAAU,CAACE;;;0BAIjB,KAACtB;gBACCW,OAAM;gBACNqB,uBACE,KAAC/B;oBACCiB,OAAO;wBAAEZ,IAAIY,MAAMQ;wBAAM,GAAGK,UAAU;oBAAC;oBACvCE,SAAS/B;oBACTgC,SAAS,CAACC,SAAWA,OAAOC;oBAC5BjB,UAAUI;oBACVc,gBAAgB;oBAChBjB,UAAUA;;;0BAIhB,KAACpB;gBACCW,OAAM;gBACNqB,uBACE,KAAC/B;oBACCiB,OAAOJ,yBAAyBI,MAAMN;oBACtCqB,SAASvB;oBACT4B,gBAAgB,CAACtB,IAAMA,EAAEL;oBACzBQ,UAAUQ;oBACVP,UAAU,CAACC;oBACXgB,gBAAgB;;;;;AAM5B"}
1
+ {"version":3,"sources":["../../src/FormatControls/FormatControls.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { Switch, SwitchProps } from '@mui/material';\nimport {\n shouldShortenValues,\n FormatOptions,\n UNIT_CONFIG,\n UnitConfig,\n isUnitWithDecimalPlaces,\n isUnitWithShortValues,\n} from '@perses-dev/core';\nimport { ReactElement } from 'react';\nimport { OptionsEditorControl } from '../OptionsEditorLayout';\nimport { SettingsAutocomplete } from '../SettingsAutocomplete';\n\nexport interface FormatControlsProps {\n value: FormatOptions;\n onChange: (unit: FormatOptions) => void;\n disabled?: boolean;\n}\n\ntype AutocompleteUnitOption = UnitConfig & { id: FormatOptions['unit'] };\n\nconst KIND_OPTIONS: AutocompleteUnitOption[] = Object.entries(UNIT_CONFIG)\n .map(([id, config]) => {\n return {\n id: id as FormatOptions['unit'],\n ...config,\n };\n })\n .filter((config) => !config.disableSelectorOption);\n\nconst DECIMAL_PLACES_OPTIONS: Array<{ id: string; label: string; decimalPlaces?: number }> = [\n { id: 'default', label: 'Default', decimalPlaces: undefined },\n { id: '0', label: '0', decimalPlaces: 0 },\n { id: '1', label: '1', decimalPlaces: 1 },\n { id: '2', label: '2', decimalPlaces: 2 },\n { id: '3', label: '3', decimalPlaces: 3 },\n { id: '4', label: '4', decimalPlaces: 4 },\n];\n\nfunction getOptionByDecimalPlaces(\n decimalPlaces?: number\n): { id: string; label: string; decimalPlaces?: number } | undefined {\n return DECIMAL_PLACES_OPTIONS.find((o) => o.decimalPlaces === decimalPlaces);\n}\n\nexport function FormatControls({ value, onChange, disabled = false }: FormatControlsProps): ReactElement {\n const hasDecimalPlaces = isUnitWithDecimalPlaces(value);\n const hasShortValues = isUnitWithShortValues(value);\n\n const handleKindChange = (_: unknown, newValue: AutocompleteUnitOption): void => {\n onChange({\n unit: newValue.id,\n });\n };\n\n const handleDecimalPlacesChange = ({\n decimalPlaces,\n }: {\n id: string;\n label: string;\n decimalPlaces?: number;\n }): void => {\n if (hasDecimalPlaces) {\n onChange({\n ...value,\n decimalPlaces: decimalPlaces,\n });\n }\n };\n\n const handleShortValuesChange: SwitchProps['onChange'] = (_: unknown, checked: boolean) => {\n if (hasShortValues) {\n onChange({\n ...value,\n shortValues: checked,\n });\n }\n };\n\n const unitConfig = UNIT_CONFIG[value.unit];\n\n return (\n <>\n <OptionsEditorControl\n label=\"Short values\"\n control={\n <Switch\n checked={hasShortValues ? shouldShortenValues(value.shortValues) : false}\n onChange={handleShortValuesChange}\n disabled={!hasShortValues}\n />\n }\n />\n <OptionsEditorControl\n label=\"Unit\"\n control={\n <SettingsAutocomplete\n value={{ id: value.unit, ...unitConfig }}\n options={KIND_OPTIONS}\n groupBy={(option) => option.group}\n onChange={handleKindChange}\n disableClearable\n disabled={disabled}\n />\n }\n />\n <OptionsEditorControl\n label=\"Decimals\"\n control={\n <SettingsAutocomplete\n value={getOptionByDecimalPlaces(value.decimalPlaces)}\n options={DECIMAL_PLACES_OPTIONS}\n getOptionLabel={(o) => o.label}\n onChange={(_, value) => handleDecimalPlacesChange(value)}\n disabled={!hasDecimalPlaces}\n disableClearable\n />\n }\n />\n </>\n );\n}\n"],"names":["Switch","shouldShortenValues","UNIT_CONFIG","isUnitWithDecimalPlaces","isUnitWithShortValues","OptionsEditorControl","SettingsAutocomplete","KIND_OPTIONS","Object","entries","map","id","config","filter","disableSelectorOption","DECIMAL_PLACES_OPTIONS","label","decimalPlaces","undefined","getOptionByDecimalPlaces","find","o","FormatControls","value","onChange","disabled","hasDecimalPlaces","hasShortValues","handleKindChange","_","newValue","unit","handleDecimalPlacesChange","handleShortValuesChange","checked","shortValues","unitConfig","control","options","groupBy","option","group","disableClearable","getOptionLabel"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AACjC,SAASA,MAAM,QAAqB,gBAAgB;AACpD,SACEC,mBAAmB,EAEnBC,WAAW,EAEXC,uBAAuB,EACvBC,qBAAqB,QAChB,mBAAmB;AAE1B,SAASC,oBAAoB,QAAQ,yBAAyB;AAC9D,SAASC,oBAAoB,QAAQ,0BAA0B;AAU/D,MAAMC,eAAyCC,OAAOC,OAAO,CAACP,aAC3DQ,GAAG,CAAC,CAAC,CAACC,IAAIC,OAAO;IAChB,OAAO;QACLD,IAAIA;QACJ,GAAGC,MAAM;IACX;AACF,GACCC,MAAM,CAAC,CAACD,SAAW,CAACA,OAAOE,qBAAqB;AAEnD,MAAMC,yBAAuF;IAC3F;QAAEJ,IAAI;QAAWK,OAAO;QAAWC,eAAeC;IAAU;IAC5D;QAAEP,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;IACxC;QAAEN,IAAI;QAAKK,OAAO;QAAKC,eAAe;IAAE;CACzC;AAED,SAASE,yBACPF,aAAsB;IAEtB,OAAOF,uBAAuBK,IAAI,CAAC,CAACC,IAAMA,EAAEJ,aAAa,KAAKA;AAChE;AAEA,OAAO,SAASK,eAAe,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,WAAW,KAAK,EAAuB;IACvF,MAAMC,mBAAmBvB,wBAAwBoB;IACjD,MAAMI,iBAAiBvB,sBAAsBmB;IAE7C,MAAMK,mBAAmB,CAACC,GAAYC;QACpCN,SAAS;YACPO,MAAMD,SAASnB,EAAE;QACnB;IACF;IAEA,MAAMqB,4BAA4B,CAAC,EACjCf,aAAa,EAKd;QACC,IAAIS,kBAAkB;YACpBF,SAAS;gBACP,GAAGD,KAAK;gBACRN,eAAeA;YACjB;QACF;IACF;IAEA,MAAMgB,0BAAmD,CAACJ,GAAYK;QACpE,IAAIP,gBAAgB;YAClBH,SAAS;gBACP,GAAGD,KAAK;gBACRY,aAAaD;YACf;QACF;IACF;IAEA,MAAME,aAAalC,WAAW,CAACqB,MAAMQ,IAAI,CAAC;IAE1C,qBACE;;0BACE,KAAC1B;gBACCW,OAAM;gBACNqB,uBACE,KAACrC;oBACCkC,SAASP,iBAAiB1B,oBAAoBsB,MAAMY,WAAW,IAAI;oBACnEX,UAAUS;oBACVR,UAAU,CAACE;;;0BAIjB,KAACtB;gBACCW,OAAM;gBACNqB,uBACE,KAAC/B;oBACCiB,OAAO;wBAAEZ,IAAIY,MAAMQ,IAAI;wBAAE,GAAGK,UAAU;oBAAC;oBACvCE,SAAS/B;oBACTgC,SAAS,CAACC,SAAWA,OAAOC,KAAK;oBACjCjB,UAAUI;oBACVc,gBAAgB;oBAChBjB,UAAUA;;;0BAIhB,KAACpB;gBACCW,OAAM;gBACNqB,uBACE,KAAC/B;oBACCiB,OAAOJ,yBAAyBI,MAAMN,aAAa;oBACnDqB,SAASvB;oBACT4B,gBAAgB,CAACtB,IAAMA,EAAEL,KAAK;oBAC9BQ,UAAU,CAACK,GAAGN,QAAUS,0BAA0BT;oBAClDE,UAAU,CAACC;oBACXgB,gBAAgB;;;;;AAM5B"}
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { FormatOptions } from '@perses-dev/core';
3
2
  import { GaugeSeriesOption } from 'echarts/charts';
4
- export declare type GaugeChartValue = number | null | undefined;
5
- export declare type GaugeSeries = {
3
+ import { ReactElement } from 'react';
4
+ export type GaugeChartValue = number | null | undefined;
5
+ export type GaugeSeries = {
6
6
  value: GaugeChartValue;
7
7
  label: string;
8
8
  };
@@ -14,7 +14,7 @@ export interface GaugeChartProps {
14
14
  axisLine: GaugeSeriesOption['axisLine'];
15
15
  max?: number;
16
16
  }
17
- export declare function GaugeChart(props: GaugeChartProps): JSX.Element;
17
+ export declare function GaugeChart(props: GaugeChartProps): ReactElement;
18
18
  /**
19
19
  * Responsive font size depending on number of characters, clamp used
20
20
  * to ensure size stays within given range
@@ -1 +1 @@
1
- {"version":3,"file":"GaugeChart.d.ts","sourceRoot":"","sources":["../../src/GaugeChart/GaugeChart.tsx"],"names":[],"mappings":";AAaA,OAAO,EAA4B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAmC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAapF,oBAAY,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAExD,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAuJhD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAQhH"}
1
+ {"version":3,"file":"GaugeChart.d.ts","sourceRoot":"","sources":["../../src/GaugeChart/GaugeChart.tsx"],"names":[],"mappings":"AAaA,OAAO,EAA4B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAmC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAWrC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAuJ/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAQR"}
@@ -16,7 +16,7 @@ import { use } from 'echarts/core';
16
16
  import { GaugeChart as EChartsGaugeChart } from 'echarts/charts';
17
17
  import { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';
18
18
  import { CanvasRenderer } from 'echarts/renderers';
19
- import { useChartsTheme } from '../context/ChartsProvider';
19
+ import { useChartsTheme } from '../context';
20
20
  import { EChart } from '../EChart';
21
21
  use([
22
22
  EChartsGaugeChart,
@@ -29,15 +29,13 @@ const PROGRESS_WIDTH = 16;
29
29
  // adjusts when to show pointer icon
30
30
  const GAUGE_SMALL_BREAKPOINT = 170;
31
31
  export function GaugeChart(props) {
32
- const { width , height , data , format , axisLine , max } = props;
32
+ const { width, height, data, format, axisLine, max } = props;
33
33
  const chartsTheme = useChartsTheme();
34
34
  // useDeepMemo ensures value size util does not rerun everytime you hover on the chart
35
35
  const option = useDeepMemo(()=>{
36
- var _chartsTheme_echartsTheme_textStyle;
37
36
  if (data.value === undefined) return chartsTheme.noDataOption;
38
37
  // adjusts fontSize depending on number of characters
39
38
  const valueSizeClamp = getResponsiveValueSize(data.value, format, width, height);
40
- var _chartsTheme_echartsTheme_textStyle_color;
41
39
  return {
42
40
  title: {
43
41
  show: false
@@ -73,7 +71,7 @@ export function GaugeChart(props) {
73
71
  color: [
74
72
  [
75
73
  1,
76
- '#e1e5e9'
74
+ 'rgba(127,127,127,0.35)'
77
75
  ]
78
76
  ],
79
77
  width: PROGRESS_WIDTH
@@ -167,7 +165,7 @@ export function GaugeChart(props) {
167
165
  // https://echarts.apache.org/en/option.html#series-gauge.data.title
168
166
  title: {
169
167
  show: true,
170
- color: (_chartsTheme_echartsTheme_textStyle_color = (_chartsTheme_echartsTheme_textStyle = chartsTheme.echartsTheme.textStyle) === null || _chartsTheme_echartsTheme_textStyle === void 0 ? void 0 : _chartsTheme_echartsTheme_textStyle.color) !== null && _chartsTheme_echartsTheme_textStyle_color !== void 0 ? _chartsTheme_echartsTheme_textStyle_color : 'inherit',
168
+ color: chartsTheme.echartsTheme.textStyle?.color ?? 'inherit',
171
169
  offsetCenter: [
172
170
  0,
173
171
  '55%'
@@ -208,8 +206,7 @@ export function GaugeChart(props) {
208
206
  const MAX_SIZE = 24;
209
207
  const SIZE_MULTIPLIER = 0.7;
210
208
  const formattedValue = typeof value === 'number' ? formatValue(value, format) : `${value}`;
211
- var _formattedValue_length;
212
- const valueCharacters = (_formattedValue_length = formattedValue.length) !== null && _formattedValue_length !== void 0 ? _formattedValue_length : 2;
209
+ const valueCharacters = formattedValue.length ?? 2;
213
210
  const valueSize = Math.min(width, height) / valueCharacters * SIZE_MULTIPLIER;
214
211
  return `clamp(${MIN_SIZE}px, ${valueSize}px, ${MAX_SIZE}px)`;
215
212
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GaugeChart/GaugeChart.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { formatValue, useDeepMemo, FormatOptions } from '@perses-dev/core';\nimport { use, EChartsCoreOption } from 'echarts/core';\nimport { GaugeChart as EChartsGaugeChart, GaugeSeriesOption } from 'echarts/charts';\nimport { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { useChartsTheme } from '../context/ChartsProvider';\nimport { EChart } from '../EChart';\n\nuse([EChartsGaugeChart, GridComponent, TitleComponent, TooltipComponent, CanvasRenderer]);\n\nconst PROGRESS_WIDTH = 16;\n\n// adjusts when to show pointer icon\nconst GAUGE_SMALL_BREAKPOINT = 170;\n\nexport type GaugeChartValue = number | null | undefined;\n\nexport type GaugeSeries = {\n value: GaugeChartValue;\n label: string;\n};\n\nexport interface GaugeChartProps {\n width: number;\n height: number;\n data: GaugeSeries;\n format: FormatOptions;\n axisLine: GaugeSeriesOption['axisLine'];\n max?: number;\n}\n\nexport function GaugeChart(props: GaugeChartProps) {\n const { width, height, data, format, axisLine, max } = props;\n const chartsTheme = useChartsTheme();\n\n // useDeepMemo ensures value size util does not rerun everytime you hover on the chart\n const option: EChartsCoreOption = useDeepMemo(() => {\n if (data.value === undefined) return chartsTheme.noDataOption;\n\n // adjusts fontSize depending on number of characters\n const valueSizeClamp = getResponsiveValueSize(data.value, format, width, height);\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n show: false,\n },\n series: [\n {\n type: 'gauge',\n center: ['50%', '65%'],\n radius: '86%',\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max,\n silent: true,\n progress: {\n show: true,\n width: PROGRESS_WIDTH,\n itemStyle: {\n color: 'auto',\n },\n },\n pointer: {\n show: false,\n },\n axisLine: {\n lineStyle: {\n color: [[1, '#e1e5e9']], // TODO (sjcobb): use future chart theme colors\n width: PROGRESS_WIDTH,\n },\n },\n axisTick: {\n show: false,\n distance: 0,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n distance: -18,\n color: '#999',\n fontSize: 12,\n },\n anchor: {\n show: false,\n },\n title: {\n show: false,\n },\n detail: {\n show: false,\n },\n data: [\n {\n value: data.value,\n },\n ],\n },\n {\n type: 'gauge',\n center: ['50%', '65%'],\n radius: '100%',\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max,\n pointer: {\n show: true,\n // pointer hidden for small panels, path taken from ex: https://echarts.apache.org/examples/en/editor.html?c=gauge-grade\n icon: width > GAUGE_SMALL_BREAKPOINT ? 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z' : 'none',\n length: 10,\n width: 5,\n offsetCenter: [0, '-49%'],\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine,\n axisTick: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n detail: {\n show: true,\n width: '60%',\n borderRadius: 8,\n offsetCenter: [0, '-9%'],\n color: 'inherit', // allows value color to match active threshold color\n fontSize: valueSizeClamp,\n formatter:\n data.value === null\n ? // We use a different function when we *know* the value is null\n // at this level because the `formatter` function argument is `NaN`\n // when the value is `null`, making it difficult to differentiate\n // `null` from a true `NaN` case.\n () => 'null'\n : (value: number) => {\n return formatValue(value, format);\n },\n },\n data: [\n {\n value: data.value,\n name: data.label,\n // TODO: new UX for series names, create separate React component or reuse ListLegendItem\n // https://echarts.apache.org/en/option.html#series-gauge.data.title\n title: {\n show: true,\n color: chartsTheme.echartsTheme.textStyle?.color ?? 'inherit', // series name font color\n offsetCenter: [0, '55%'],\n overflow: 'truncate',\n fontSize: 12,\n width: width * 0.8,\n },\n },\n ],\n },\n ],\n };\n }, [data, width, height, chartsTheme, format, axisLine, max]);\n\n return (\n <EChart\n sx={{\n width: width,\n height: height,\n padding: `${chartsTheme.container.padding.default}px`,\n }}\n option={option}\n theme={chartsTheme.echartsTheme}\n />\n );\n}\n\n/**\n * Responsive font size depending on number of characters, clamp used\n * to ensure size stays within given range\n */\nexport function getResponsiveValueSize(value: number | null, format: FormatOptions, width: number, height: number) {\n const MIN_SIZE = 3;\n const MAX_SIZE = 24;\n const SIZE_MULTIPLIER = 0.7;\n const formattedValue = typeof value === 'number' ? formatValue(value, format) : `${value}`;\n const valueCharacters = formattedValue.length ?? 2;\n const valueSize = (Math.min(width, height) / valueCharacters) * SIZE_MULTIPLIER;\n return `clamp(${MIN_SIZE}px, ${valueSize}px, ${MAX_SIZE}px)`;\n}\n"],"names":["formatValue","useDeepMemo","use","GaugeChart","EChartsGaugeChart","GridComponent","TitleComponent","TooltipComponent","CanvasRenderer","useChartsTheme","EChart","PROGRESS_WIDTH","GAUGE_SMALL_BREAKPOINT","props","width","height","data","format","axisLine","max","chartsTheme","option","value","undefined","noDataOption","valueSizeClamp","getResponsiveValueSize","title","show","tooltip","series","type","center","radius","startAngle","endAngle","min","silent","progress","itemStyle","color","pointer","lineStyle","axisTick","distance","splitLine","axisLabel","fontSize","anchor","detail","icon","length","offsetCenter","borderRadius","formatter","name","label","echartsTheme","textStyle","overflow","sx","padding","container","default","theme","MIN_SIZE","MAX_SIZE","SIZE_MULTIPLIER","formattedValue","valueCharacters","valueSize","Math"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/GaugeChart/GaugeChart.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { formatValue, useDeepMemo, FormatOptions } from '@perses-dev/core';\nimport { use, EChartsCoreOption } from 'echarts/core';\nimport { GaugeChart as EChartsGaugeChart, GaugeSeriesOption } from 'echarts/charts';\nimport { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { ReactElement } from 'react';\nimport { useChartsTheme } from '../context';\nimport { EChart } from '../EChart';\n\nuse([EChartsGaugeChart, GridComponent, TitleComponent, TooltipComponent, CanvasRenderer]);\n\nconst PROGRESS_WIDTH = 16;\n\n// adjusts when to show pointer icon\nconst GAUGE_SMALL_BREAKPOINT = 170;\n\nexport type GaugeChartValue = number | null | undefined;\n\nexport type GaugeSeries = {\n value: GaugeChartValue;\n label: string;\n};\n\nexport interface GaugeChartProps {\n width: number;\n height: number;\n data: GaugeSeries;\n format: FormatOptions;\n axisLine: GaugeSeriesOption['axisLine'];\n max?: number;\n}\n\nexport function GaugeChart(props: GaugeChartProps): ReactElement {\n const { width, height, data, format, axisLine, max } = props;\n const chartsTheme = useChartsTheme();\n\n // useDeepMemo ensures value size util does not rerun everytime you hover on the chart\n const option: EChartsCoreOption = useDeepMemo(() => {\n if (data.value === undefined) return chartsTheme.noDataOption;\n\n // adjusts fontSize depending on number of characters\n const valueSizeClamp = getResponsiveValueSize(data.value, format, width, height);\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n show: false,\n },\n series: [\n {\n type: 'gauge',\n center: ['50%', '65%'],\n radius: '86%',\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max,\n silent: true,\n progress: {\n show: true,\n width: PROGRESS_WIDTH,\n itemStyle: {\n color: 'auto',\n },\n },\n pointer: {\n show: false,\n },\n axisLine: {\n lineStyle: {\n color: [[1, 'rgba(127,127,127,0.35)']], // TODO (sjcobb): use future chart theme colors\n width: PROGRESS_WIDTH,\n },\n },\n axisTick: {\n show: false,\n distance: 0,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n distance: -18,\n color: '#999',\n fontSize: 12,\n },\n anchor: {\n show: false,\n },\n title: {\n show: false,\n },\n detail: {\n show: false,\n },\n data: [\n {\n value: data.value,\n },\n ],\n },\n {\n type: 'gauge',\n center: ['50%', '65%'],\n radius: '100%',\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max,\n pointer: {\n show: true,\n // pointer hidden for small panels, path taken from ex: https://echarts.apache.org/examples/en/editor.html?c=gauge-grade\n icon: width > GAUGE_SMALL_BREAKPOINT ? 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z' : 'none',\n length: 10,\n width: 5,\n offsetCenter: [0, '-49%'],\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine,\n axisTick: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n detail: {\n show: true,\n width: '60%',\n borderRadius: 8,\n offsetCenter: [0, '-9%'],\n color: 'inherit', // allows value color to match active threshold color\n fontSize: valueSizeClamp,\n formatter:\n data.value === null\n ? // We use a different function when we *know* the value is null\n // at this level because the `formatter` function argument is `NaN`\n // when the value is `null`, making it difficult to differentiate\n // `null` from a true `NaN` case.\n (): string => 'null'\n : (value: number): string | undefined => {\n return formatValue(value, format);\n },\n },\n data: [\n {\n value: data.value,\n name: data.label,\n // TODO: new UX for series names, create separate React component or reuse ListLegendItem\n // https://echarts.apache.org/en/option.html#series-gauge.data.title\n title: {\n show: true,\n color: chartsTheme.echartsTheme.textStyle?.color ?? 'inherit', // series name font color\n offsetCenter: [0, '55%'],\n overflow: 'truncate',\n fontSize: 12,\n width: width * 0.8,\n },\n },\n ],\n },\n ],\n };\n }, [data, width, height, chartsTheme, format, axisLine, max]);\n\n return (\n <EChart\n sx={{\n width: width,\n height: height,\n padding: `${chartsTheme.container.padding.default}px`,\n }}\n option={option}\n theme={chartsTheme.echartsTheme}\n />\n );\n}\n\n/**\n * Responsive font size depending on number of characters, clamp used\n * to ensure size stays within given range\n */\nexport function getResponsiveValueSize(\n value: number | null,\n format: FormatOptions,\n width: number,\n height: number\n): string {\n const MIN_SIZE = 3;\n const MAX_SIZE = 24;\n const SIZE_MULTIPLIER = 0.7;\n const formattedValue = typeof value === 'number' ? formatValue(value, format) : `${value}`;\n const valueCharacters = formattedValue.length ?? 2;\n const valueSize = (Math.min(width, height) / valueCharacters) * SIZE_MULTIPLIER;\n return `clamp(${MIN_SIZE}px, ${valueSize}px, ${MAX_SIZE}px)`;\n}\n"],"names":["formatValue","useDeepMemo","use","GaugeChart","EChartsGaugeChart","GridComponent","TitleComponent","TooltipComponent","CanvasRenderer","useChartsTheme","EChart","PROGRESS_WIDTH","GAUGE_SMALL_BREAKPOINT","props","width","height","data","format","axisLine","max","chartsTheme","option","value","undefined","noDataOption","valueSizeClamp","getResponsiveValueSize","title","show","tooltip","series","type","center","radius","startAngle","endAngle","min","silent","progress","itemStyle","color","pointer","lineStyle","axisTick","distance","splitLine","axisLabel","fontSize","anchor","detail","icon","length","offsetCenter","borderRadius","formatter","name","label","echartsTheme","textStyle","overflow","sx","padding","container","default","theme","MIN_SIZE","MAX_SIZE","SIZE_MULTIPLIER","formattedValue","valueCharacters","valueSize","Math"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import React from 'react';
2
- export declare type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom';
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom';
3
3
  interface InfoTooltipProps {
4
4
  description: string;
5
- children: React.ReactNode;
5
+ children: ReactNode;
6
6
  id?: string;
7
7
  title?: string;
8
8
  placement?: TooltipPlacement;
9
9
  enterDelay?: number;
10
10
  enterNextDelay?: number;
11
11
  }
12
- export declare const InfoTooltip: ({ id, title, description, placement, children, enterDelay, enterNextDelay, }: InfoTooltipProps) => JSX.Element;
12
+ export declare const InfoTooltip: ({ id, title, description, placement, children, enterDelay, enterNextDelay, }: InfoTooltipProps) => ReactElement;
13
13
  export {};
14
14
  //# sourceMappingURL=InfoTooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoTooltip.d.ts","sourceRoot":"","sources":["../../src/InfoTooltip/InfoTooltip.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,oBAAY,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,iFAQrB,gBAAgB,gBAqBlB,CAAC"}
1
+ {"version":3,"file":"InfoTooltip.d.ts","sourceRoot":"","sources":["../../src/InfoTooltip/InfoTooltip.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAShD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,iFAQrB,gBAAgB,KAAG,YAqBrB,CAAC"}
@@ -11,9 +11,8 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
- import React from 'react';
15
14
  import { styled, Tooltip as MuiTooltip, tooltipClasses, Typography } from '@mui/material';
16
- export const InfoTooltip = ({ id , title , description , placement , children , enterDelay , enterNextDelay })=>{
15
+ export const InfoTooltip = ({ id, title, description, placement, children, enterDelay, enterNextDelay })=>{
17
16
  // Wrap children in a span to cover the following use cases:
18
17
  // - Disabled buttons. MUI console.errors on putting these inside a tooltip.
19
18
  // - Non-element tooltip children (e.g. text). The tooltip needs something that
@@ -26,17 +25,17 @@ export const InfoTooltip = ({ id , title , description , placement , children ,
26
25
  return /*#__PURE__*/ _jsx(StyledTooltip, {
27
26
  arrow: true,
28
27
  id: id,
29
- placement: placement !== null && placement !== void 0 ? placement : 'top',
28
+ placement: placement ?? 'top',
30
29
  title: /*#__PURE__*/ _jsx(TooltipContent, {
31
30
  title: title,
32
31
  description: description
33
32
  }),
34
- enterDelay: enterDelay !== null && enterDelay !== void 0 ? enterDelay : 500,
35
- enterNextDelay: enterNextDelay !== null && enterNextDelay !== void 0 ? enterNextDelay : 500,
33
+ enterDelay: enterDelay ?? 500,
34
+ enterNextDelay: enterNextDelay ?? 500,
36
35
  children: wrappedChildren
37
36
  });
38
37
  };
39
- const TooltipContent = ({ title , description })=>{
38
+ const TooltipContent = ({ title, description })=>{
40
39
  return /*#__PURE__*/ _jsxs(_Fragment, {
41
40
  children: [
42
41
  title && /*#__PURE__*/ _jsx(Typography, {
@@ -57,12 +56,12 @@ const TooltipContent = ({ title , description })=>{
57
56
  ]
58
57
  });
59
58
  };
60
- const StyledTooltip = styled(({ className , ...props })=>/*#__PURE__*/ _jsx(MuiTooltip, {
59
+ const StyledTooltip = styled(({ className, ...props })=>/*#__PURE__*/ _jsx(MuiTooltip, {
61
60
  ...props,
62
61
  classes: {
63
62
  popper: className
64
63
  }
65
- }))(({ theme })=>({
64
+ }))(({ theme })=>({
66
65
  [`& .${tooltipClasses.tooltip}`]: {
67
66
  backgroundColor: theme.palette.background.tooltip,
68
67
  color: theme.palette.text.primary,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InfoTooltip/InfoTooltip.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React from 'react';\nimport {\n styled,\n TooltipProps as MuiTooltipProps,\n Tooltip as MuiTooltip,\n tooltipClasses,\n Typography,\n} from '@mui/material';\n\nexport type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom';\n\ninterface InfoTooltipProps {\n description: string;\n children: React.ReactNode;\n id?: string;\n title?: string;\n placement?: TooltipPlacement;\n enterDelay?: number; // default is 500ms\n enterNextDelay?: number; // default is 500ms\n}\n\nexport const InfoTooltip = ({\n id,\n title,\n description,\n placement,\n children,\n enterDelay,\n enterNextDelay,\n}: InfoTooltipProps) => {\n // Wrap children in a span to cover the following use cases:\n // - Disabled buttons. MUI console.errors on putting these inside a tooltip.\n // - Non-element tooltip children (e.g. text). The tooltip needs something that\n // can have a ref as a child.\n // We wrap in a `span` and not a `div` to minimize the impact on page layout\n // and styles.\n const wrappedChildren = <span>{children}</span>;\n\n return (\n <StyledTooltip\n arrow\n id={id}\n placement={placement ?? 'top'}\n title={<TooltipContent title={title} description={description} />}\n enterDelay={enterDelay ?? 500}\n enterNextDelay={enterNextDelay ?? 500}\n >\n {wrappedChildren}\n </StyledTooltip>\n );\n};\n\nconst TooltipContent = ({ title, description }: Pick<InfoTooltipProps, 'title' | 'description'>) => {\n return (\n <>\n {title && (\n <Typography\n variant=\"body2\"\n sx={(theme) => ({\n color: theme.palette.text.primary,\n fontWeight: theme.typography.fontWeightMedium,\n })}\n >\n {title}\n </Typography>\n )}\n <Typography\n variant=\"caption\"\n sx={(theme) => ({\n color: theme.palette.text.primary,\n })}\n >\n {description}\n </Typography>\n </>\n );\n};\n\nconst StyledTooltip = styled(({ className, ...props }: MuiTooltipProps) => (\n <MuiTooltip {...props} classes={{ popper: className }} />\n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: theme.palette.background.tooltip,\n color: theme.palette.text.primary,\n maxWidth: '300px',\n padding: theme.spacing(1),\n boxShadow: theme.shadows[1],\n },\n [`& .${tooltipClasses.arrow}`]: {\n color: theme.palette.background.tooltip,\n },\n}));\n"],"names":["React","styled","Tooltip","MuiTooltip","tooltipClasses","Typography","InfoTooltip","id","title","description","placement","children","enterDelay","enterNextDelay","wrappedChildren","span","StyledTooltip","arrow","TooltipContent","variant","sx","theme","color","palette","text","primary","fontWeight","typography","fontWeightMedium","className","props","classes","popper","tooltip","backgroundColor","background","maxWidth","padding","spacing","boxShadow","shadows"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,OAAOA,WAAW,QAAQ;AAC1B,SACEC,MAAM,EAENC,WAAWC,UAAU,EACrBC,cAAc,EACdC,UAAU,QACL,gBAAgB;AAcvB,OAAO,MAAMC,cAAc,CAAC,EAC1BC,GAAE,EACFC,MAAK,EACLC,YAAW,EACXC,UAAS,EACTC,SAAQ,EACRC,WAAU,EACVC,eAAc,EACG;IACjB,4DAA4D;IAC5D,6EAA6E;IAC7E,gFAAgF;IAChF,+BAA+B;IAC/B,4EAA4E;IAC5E,cAAc;IACd,MAAMC,gCAAkB,KAACC;kBAAMJ;;IAE/B,qBACE,KAACK;QACCC,KAAK;QACLV,IAAIA;QACJG,WAAWA,sBAAAA,uBAAAA,YAAa;QACxBF,qBAAO,KAACU;YAAeV,OAAOA;YAAOC,aAAaA;;QAClDG,YAAYA,uBAAAA,wBAAAA,aAAc;QAC1BC,gBAAgBA,2BAAAA,4BAAAA,iBAAkB;kBAEjCC;;AAGP,EAAE;AAEF,MAAMI,iBAAiB,CAAC,EAAEV,MAAK,EAAEC,YAAW,EAAmD;IAC7F,qBACE;;YACGD,uBACC,KAACH;gBACCc,SAAQ;gBACRC,IAAI,CAACC,QAAW,CAAA;wBACdC,OAAOD,MAAME,QAAQC,KAAKC;wBAC1BC,YAAYL,MAAMM,WAAWC;oBAC/B,CAAA;0BAECpB;;0BAGL,KAACH;gBACCc,SAAQ;gBACRC,IAAI,CAACC,QAAW,CAAA;wBACdC,OAAOD,MAAME,QAAQC,KAAKC;oBAC5B,CAAA;0BAEChB;;;;AAIT;AAEA,MAAMO,gBAAgBf,OAAO,CAAC,EAAE4B,UAAS,EAAE,GAAGC,OAAwB,iBACpE,KAAC3B;QAAY,GAAG2B,KAAK;QAAEC,SAAS;YAAEC,QAAQH;QAAU;QACnD,CAAC,EAAER,MAAK,EAAE,GAAM,CAAA;QACjB,CAAC,CAAC,GAAG,EAAEjB,eAAe6B,QAAQ,CAAC,CAAC,EAAE;YAChCC,iBAAiBb,MAAME,QAAQY,WAAWF;YAC1CX,OAAOD,MAAME,QAAQC,KAAKC;YAC1BW,UAAU;YACVC,SAAShB,MAAMiB,QAAQ;YACvBC,WAAWlB,MAAMmB,OAAO,CAAC,EAAE;QAC7B;QACA,CAAC,CAAC,GAAG,EAAEpC,eAAea,MAAM,CAAC,CAAC,EAAE;YAC9BK,OAAOD,MAAME,QAAQY,WAAWF;QAClC;IACF,CAAA"}
1
+ {"version":3,"sources":["../../src/InfoTooltip/InfoTooltip.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ReactElement, ReactNode } from 'react';\nimport {\n styled,\n TooltipProps as MuiTooltipProps,\n Tooltip as MuiTooltip,\n tooltipClasses,\n Typography,\n} from '@mui/material';\n\nexport type TooltipPlacement = 'top' | 'left' | 'right' | 'bottom';\n\ninterface InfoTooltipProps {\n description: string;\n children: ReactNode;\n id?: string;\n title?: string;\n placement?: TooltipPlacement;\n enterDelay?: number; // default is 500ms\n enterNextDelay?: number; // default is 500ms\n}\n\nexport const InfoTooltip = ({\n id,\n title,\n description,\n placement,\n children,\n enterDelay,\n enterNextDelay,\n}: InfoTooltipProps): ReactElement => {\n // Wrap children in a span to cover the following use cases:\n // - Disabled buttons. MUI console.errors on putting these inside a tooltip.\n // - Non-element tooltip children (e.g. text). The tooltip needs something that\n // can have a ref as a child.\n // We wrap in a `span` and not a `div` to minimize the impact on page layout\n // and styles.\n const wrappedChildren = <span>{children}</span>;\n\n return (\n <StyledTooltip\n arrow\n id={id}\n placement={placement ?? 'top'}\n title={<TooltipContent title={title} description={description} />}\n enterDelay={enterDelay ?? 500}\n enterNextDelay={enterNextDelay ?? 500}\n >\n {wrappedChildren}\n </StyledTooltip>\n );\n};\n\nconst TooltipContent = ({ title, description }: Pick<InfoTooltipProps, 'title' | 'description'>): ReactElement => {\n return (\n <>\n {title && (\n <Typography\n variant=\"body2\"\n sx={(theme) => ({\n color: theme.palette.text.primary,\n fontWeight: theme.typography.fontWeightMedium,\n })}\n >\n {title}\n </Typography>\n )}\n <Typography\n variant=\"caption\"\n sx={(theme) => ({\n color: theme.palette.text.primary,\n })}\n >\n {description}\n </Typography>\n </>\n );\n};\n\nconst StyledTooltip = styled(({ className, ...props }: MuiTooltipProps) => (\n <MuiTooltip {...props} classes={{ popper: className }} />\n))(({ theme }) => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: theme.palette.background.tooltip,\n color: theme.palette.text.primary,\n maxWidth: '300px',\n padding: theme.spacing(1),\n boxShadow: theme.shadows[1],\n },\n [`& .${tooltipClasses.arrow}`]: {\n color: theme.palette.background.tooltip,\n },\n}));\n"],"names":["styled","Tooltip","MuiTooltip","tooltipClasses","Typography","InfoTooltip","id","title","description","placement","children","enterDelay","enterNextDelay","wrappedChildren","span","StyledTooltip","arrow","TooltipContent","variant","sx","theme","color","palette","text","primary","fontWeight","typography","fontWeightMedium","className","props","classes","popper","tooltip","backgroundColor","background","maxWidth","padding","spacing","boxShadow","shadows"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SACEA,MAAM,EAENC,WAAWC,UAAU,EACrBC,cAAc,EACdC,UAAU,QACL,gBAAgB;AAcvB,OAAO,MAAMC,cAAc,CAAC,EAC1BC,EAAE,EACFC,KAAK,EACLC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,cAAc,EACG;IACjB,4DAA4D;IAC5D,6EAA6E;IAC7E,gFAAgF;IAChF,+BAA+B;IAC/B,4EAA4E;IAC5E,cAAc;IACd,MAAMC,gCAAkB,KAACC;kBAAMJ;;IAE/B,qBACE,KAACK;QACCC,KAAK;QACLV,IAAIA;QACJG,WAAWA,aAAa;QACxBF,qBAAO,KAACU;YAAeV,OAAOA;YAAOC,aAAaA;;QAClDG,YAAYA,cAAc;QAC1BC,gBAAgBA,kBAAkB;kBAEjCC;;AAGP,EAAE;AAEF,MAAMI,iBAAiB,CAAC,EAAEV,KAAK,EAAEC,WAAW,EAAmD;IAC7F,qBACE;;YACGD,uBACC,KAACH;gBACCc,SAAQ;gBACRC,IAAI,CAACC,QAAW,CAAA;wBACdC,OAAOD,MAAME,OAAO,CAACC,IAAI,CAACC,OAAO;wBACjCC,YAAYL,MAAMM,UAAU,CAACC,gBAAgB;oBAC/C,CAAA;0BAECpB;;0BAGL,KAACH;gBACCc,SAAQ;gBACRC,IAAI,CAACC,QAAW,CAAA;wBACdC,OAAOD,MAAME,OAAO,CAACC,IAAI,CAACC,OAAO;oBACnC,CAAA;0BAEChB;;;;AAIT;AAEA,MAAMO,gBAAgBf,OAAO,CAAC,EAAE4B,SAAS,EAAE,GAAGC,OAAwB,iBACpE,KAAC3B;QAAY,GAAG2B,KAAK;QAAEC,SAAS;YAAEC,QAAQH;QAAU;QACnD,CAAC,EAAER,KAAK,EAAE,GAAM,CAAA;QACjB,CAAC,CAAC,GAAG,EAAEjB,eAAe6B,OAAO,CAAC,CAAC,CAAC,EAAE;YAChCC,iBAAiBb,MAAME,OAAO,CAACY,UAAU,CAACF,OAAO;YACjDX,OAAOD,MAAME,OAAO,CAACC,IAAI,CAACC,OAAO;YACjCW,UAAU;YACVC,SAAShB,MAAMiB,OAAO,CAAC;YACvBC,WAAWlB,MAAMmB,OAAO,CAAC,EAAE;QAC7B;QACA,CAAC,CAAC,GAAG,EAAEpC,eAAea,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9BK,OAAOD,MAAME,OAAO,CAACY,UAAU,CAACF,OAAO;QACzC;IACF,CAAA"}
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
1
+ import { ReactElement } from 'react';
2
2
  import { ReactCodeMirrorProps } from '@uiw/react-codemirror/src';
3
- declare type JSONEditorProps<T> = Omit<ReactCodeMirrorProps, 'onBlur' | 'theme' | 'extensions' | 'onChange' | 'value'> & {
3
+ type JSONEditorProps<T> = Omit<ReactCodeMirrorProps, 'onBlur' | 'theme' | 'extensions' | 'onChange' | 'value'> & {
4
4
  value: T;
5
5
  placeholder?: string;
6
6
  onChange?: (next: string) => void;
7
7
  };
8
- export declare function JSONEditor<T>(props: JSONEditorProps<T>): JSX.Element;
8
+ export declare function JSONEditor<T>(props: JSONEditorProps<T>): ReactElement;
9
9
  export {};
10
10
  //# sourceMappingURL=JSONEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JSONEditor.d.ts","sourceRoot":"","sources":["../src/JSONEditor.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,aAAK,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG;IAC/G,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,eAiCtD"}
1
+ {"version":3,"file":"JSONEditor.d.ts","sourceRoot":"","sources":["../src/JSONEditor.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;AAK1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,KAAK,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG;IAC/G,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAiCrE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/JSONEditor.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useEffect, useState } from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { linter, lintGutter } from '@codemirror/lint';\nimport { useTheme } from '@mui/material';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror/src';\n\ntype JSONEditorProps<T> = Omit<ReactCodeMirrorProps, 'onBlur' | 'theme' | 'extensions' | 'onChange' | 'value'> & {\n value: T;\n placeholder?: string;\n onChange?: (next: string) => void;\n};\n\nexport function JSONEditor<T>(props: JSONEditorProps<T>) {\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n\n const [value, setValue] = useState(() => JSON.stringify(props.value, null, 2));\n const [lastProcessedValue, setLastProcessedValue] = useState<string>(value);\n\n useEffect(() => {\n setValue(JSON.stringify(props.value, null, 2));\n }, [props.value]);\n\n return (\n <CodeMirror\n {...props}\n style={{ border: `1px solid ${theme.palette.divider}` }}\n theme={isDarkMode ? 'dark' : 'light'}\n extensions={[json(), linter(jsonParseLinter()), lintGutter()]}\n value={value}\n onChange={(newValue) => {\n setValue(newValue);\n }}\n onBlur={() => {\n // Don't trigger the provided onChange if the last processed value is equal to the current value.\n // This prevents e.g CTRL+F to trigger value refresh downstream, which would cause the embedded\n // find & replace interface to close immediately.\n if (lastProcessedValue !== value && props.onChange !== undefined) {\n props.onChange(value);\n setLastProcessedValue(value);\n }\n }}\n placeholder={props.placeholder}\n />\n );\n}\n"],"names":["useEffect","useState","CodeMirror","json","jsonParseLinter","linter","lintGutter","useTheme","JSONEditor","props","theme","isDarkMode","palette","mode","value","setValue","JSON","stringify","lastProcessedValue","setLastProcessedValue","style","border","divider","extensions","onChange","newValue","onBlur","undefined","placeholder"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,OAAOC,gBAAgB,wBAAwB;AAC/C,SAASC,IAAI,EAAEC,eAAe,QAAQ,wBAAwB;AAC9D,SAASC,MAAM,EAAEC,UAAU,QAAQ,mBAAmB;AACtD,SAASC,QAAQ,QAAQ,gBAAgB;AASzC,OAAO,SAASC,WAAcC,KAAyB;IACrD,MAAMC,QAAQH;IACd,MAAMI,aAAaD,MAAME,QAAQC,SAAS;IAE1C,MAAM,CAACC,OAAOC,SAAS,GAAGd,SAAS,IAAMe,KAAKC,UAAUR,MAAMK,OAAO,MAAM;IAC3E,MAAM,CAACI,oBAAoBC,sBAAsB,GAAGlB,SAAiBa;IAErEd,UAAU;QACRe,SAASC,KAAKC,UAAUR,MAAMK,OAAO,MAAM;IAC7C,GAAG;QAACL,MAAMK;KAAM;IAEhB,qBACE,KAACZ;QACE,GAAGO,KAAK;QACTW,OAAO;YAAEC,QAAQ,CAAC,UAAU,EAAEX,MAAME,QAAQU,QAAQ,CAAC;QAAC;QACtDZ,OAAOC,aAAa,SAAS;QAC7BY,YAAY;YAACpB;YAAQE,OAAOD;YAAoBE;SAAa;QAC7DQ,OAAOA;QACPU,UAAU,CAACC;YACTV,SAASU;QACX;QACAC,QAAQ;YACN,iGAAiG;YACjG,+FAA+F;YAC/F,iDAAiD;YACjD,IAAIR,uBAAuBJ,SAASL,MAAMe,aAAaG,WAAW;gBAChElB,MAAMe,SAASV;gBACfK,sBAAsBL;YACxB;QACF;QACAc,aAAanB,MAAMmB;;AAGzB"}
1
+ {"version":3,"sources":["../src/JSONEditor.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ReactElement, useEffect, useState } from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { linter, lintGutter } from '@codemirror/lint';\nimport { useTheme } from '@mui/material';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror/src';\n\ntype JSONEditorProps<T> = Omit<ReactCodeMirrorProps, 'onBlur' | 'theme' | 'extensions' | 'onChange' | 'value'> & {\n value: T;\n placeholder?: string;\n onChange?: (next: string) => void;\n};\n\nexport function JSONEditor<T>(props: JSONEditorProps<T>): ReactElement {\n const theme = useTheme();\n const isDarkMode = theme.palette.mode === 'dark';\n\n const [value, setValue] = useState(() => JSON.stringify(props.value, null, 2));\n const [lastProcessedValue, setLastProcessedValue] = useState<string>(value);\n\n useEffect(() => {\n setValue(JSON.stringify(props.value, null, 2));\n }, [props.value]);\n\n return (\n <CodeMirror\n {...props}\n style={{ border: `1px solid ${theme.palette.divider}` }}\n theme={isDarkMode ? 'dark' : 'light'}\n extensions={[json(), linter(jsonParseLinter()), lintGutter()]}\n value={value}\n onChange={(newValue) => {\n setValue(newValue);\n }}\n onBlur={() => {\n // Don't trigger the provided onChange if the last processed value is equal to the current value.\n // This prevents e.g CTRL+F to trigger value refresh downstream, which would cause the embedded\n // find & replace interface to close immediately.\n if (lastProcessedValue !== value && props.onChange !== undefined) {\n props.onChange(value);\n setLastProcessedValue(value);\n }\n }}\n placeholder={props.placeholder}\n />\n );\n}\n"],"names":["useEffect","useState","CodeMirror","json","jsonParseLinter","linter","lintGutter","useTheme","JSONEditor","props","theme","isDarkMode","palette","mode","value","setValue","JSON","stringify","lastProcessedValue","setLastProcessedValue","style","border","divider","extensions","onChange","newValue","onBlur","undefined","placeholder"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAAuBA,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC1D,OAAOC,gBAAgB,wBAAwB;AAC/C,SAASC,IAAI,EAAEC,eAAe,QAAQ,wBAAwB;AAC9D,SAASC,MAAM,EAAEC,UAAU,QAAQ,mBAAmB;AACtD,SAASC,QAAQ,QAAQ,gBAAgB;AASzC,OAAO,SAASC,WAAcC,KAAyB;IACrD,MAAMC,QAAQH;IACd,MAAMI,aAAaD,MAAME,OAAO,CAACC,IAAI,KAAK;IAE1C,MAAM,CAACC,OAAOC,SAAS,GAAGd,SAAS,IAAMe,KAAKC,SAAS,CAACR,MAAMK,KAAK,EAAE,MAAM;IAC3E,MAAM,CAACI,oBAAoBC,sBAAsB,GAAGlB,SAAiBa;IAErEd,UAAU;QACRe,SAASC,KAAKC,SAAS,CAACR,MAAMK,KAAK,EAAE,MAAM;IAC7C,GAAG;QAACL,MAAMK,KAAK;KAAC;IAEhB,qBACE,KAACZ;QACE,GAAGO,KAAK;QACTW,OAAO;YAAEC,QAAQ,CAAC,UAAU,EAAEX,MAAME,OAAO,CAACU,OAAO,CAAC,CAAC;QAAC;QACtDZ,OAAOC,aAAa,SAAS;QAC7BY,YAAY;YAACpB;YAAQE,OAAOD;YAAoBE;SAAa;QAC7DQ,OAAOA;QACPU,UAAU,CAACC;YACTV,SAASU;QACX;QACAC,QAAQ;YACN,iGAAiG;YACjG,+FAA+F;YAC/F,iDAAiD;YACjD,IAAIR,uBAAuBJ,SAASL,MAAMe,QAAQ,KAAKG,WAAW;gBAChElB,MAAMe,QAAQ,CAACV;gBACfK,sBAAsBL;YACxB;QACF;QACAc,aAAanB,MAAMmB,WAAW;;AAGpC"}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { ReactElement } from 'react';
2
2
  import { ListLegendItemProps } from './ListLegendItem';
3
3
  import { LegendItem, SelectedLegendItemState } from './legend-model';
4
4
  export interface CompactLegendProps {
@@ -15,5 +15,5 @@ export interface CompactLegendProps {
15
15
  * number of items. The `ListLegend` is used for cases with large numbers of items
16
16
  * because it is virtualized.
17
17
  */
18
- export declare function CompactLegend({ height, items, selectedItems, onLegendItemClick, onItemMouseOver, onItemMouseOut, }: CompactLegendProps): JSX.Element;
18
+ export declare function CompactLegend({ height, items, selectedItems, onLegendItemClick, onItemMouseOver, onItemMouseOut, }: CompactLegendProps): ReactElement;
19
19
  //# sourceMappingURL=CompactLegend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompactLegend.d.ts","sourceRoot":"","sources":["../../src/Legend/CompactLegend.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAgC,MAAM,gBAAgB,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,aAAa,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,eAAe,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACpD,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,EAAE,kBAAkB,eAqBpB"}
1
+ {"version":3,"file":"CompactLegend.d.ts","sourceRoot":"","sources":["../../src/Legend/CompactLegend.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAkB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAgC,MAAM,gBAAgB,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,aAAa,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,eAAe,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACpD,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,EAAE,kBAAkB,GAAG,YAAY,CAqBnC"}
@@ -19,7 +19,7 @@ import { isLegendItemVisuallySelected } from './legend-model';
19
19
  * which corresponds to when legend.position is `bottom` with a relatively small
20
20
  * number of items. The `ListLegend` is used for cases with large numbers of items
21
21
  * because it is virtualized.
22
- */ export function CompactLegend({ height , items , selectedItems , onLegendItemClick , onItemMouseOver , onItemMouseOut }) {
22
+ */ export function CompactLegend({ height, items, selectedItems, onLegendItemClick, onItemMouseOver, onItemMouseOut }) {
23
23
  return /*#__PURE__*/ _jsx(Box, {
24
24
  component: "ul",
25
25
  sx: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Legend/CompactLegend.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box } from '@mui/material';\nimport { ListLegendItem, ListLegendItemProps } from './ListLegendItem';\nimport { LegendItem, SelectedLegendItemState, isLegendItemVisuallySelected } from './legend-model';\n\nexport interface CompactLegendProps {\n height: number;\n items: LegendItem[];\n selectedItems: SelectedLegendItemState;\n onLegendItemClick: ListLegendItemProps['onClick'];\n onItemMouseOver: ListLegendItemProps['onMouseOver'];\n onItemMouseOut: ListLegendItemProps['onMouseOut'];\n}\n\n/**\n * CompactLegend is default and used when legend items need to show side by side\n * which corresponds to when legend.position is `bottom` with a relatively small\n * number of items. The `ListLegend` is used for cases with large numbers of items\n * because it is virtualized.\n */\nexport function CompactLegend({\n height,\n items,\n selectedItems,\n onLegendItemClick,\n onItemMouseOver,\n onItemMouseOut,\n}: CompactLegendProps) {\n return (\n <Box component=\"ul\" sx={{ width: '100%', height, padding: [0, 1, 0, 0], overflowY: 'scroll', margin: 0 }}>\n {items.map((item, index) => (\n <ListLegendItem\n key={item.id}\n item={item}\n index={index}\n isVisuallySelected={isLegendItemVisuallySelected(item, selectedItems)}\n onMouseOver={onItemMouseOver}\n onMouseOut={onItemMouseOut}\n onClick={onLegendItemClick}\n sx={{\n width: 'auto',\n float: 'left',\n paddingRight: 1.5,\n }}\n />\n ))}\n </Box>\n );\n}\n"],"names":["Box","ListLegendItem","isLegendItemVisuallySelected","CompactLegend","height","items","selectedItems","onLegendItemClick","onItemMouseOver","onItemMouseOut","component","sx","width","padding","overflowY","margin","map","item","index","isVisuallySelected","onMouseOver","onMouseOut","onClick","float","paddingRight","id"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,cAAc,QAA6B,mBAAmB;AACvE,SAA8CC,4BAA4B,QAAQ,iBAAiB;AAWnG;;;;;CAKC,GACD,OAAO,SAASC,cAAc,EAC5BC,OAAM,EACNC,MAAK,EACLC,cAAa,EACbC,kBAAiB,EACjBC,gBAAe,EACfC,eAAc,EACK;IACnB,qBACE,KAACT;QAAIU,WAAU;QAAKC,IAAI;YAAEC,OAAO;YAAQR;YAAQS,SAAS;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;YAAEC,WAAW;YAAUC,QAAQ;QAAE;kBACpGV,MAAMW,IAAI,CAACC,MAAMC,sBAChB,KAACjB;gBAECgB,MAAMA;gBACNC,OAAOA;gBACPC,oBAAoBjB,6BAA6Be,MAAMX;gBACvDc,aAAaZ;gBACba,YAAYZ;gBACZa,SAASf;gBACTI,IAAI;oBACFC,OAAO;oBACPW,OAAO;oBACPC,cAAc;gBAChB;eAXKP,KAAKQ;;AAgBpB"}
1
+ {"version":3,"sources":["../../src/Legend/CompactLegend.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { ListLegendItem, ListLegendItemProps } from './ListLegendItem';\nimport { LegendItem, SelectedLegendItemState, isLegendItemVisuallySelected } from './legend-model';\n\nexport interface CompactLegendProps {\n height: number;\n items: LegendItem[];\n selectedItems: SelectedLegendItemState;\n onLegendItemClick: ListLegendItemProps['onClick'];\n onItemMouseOver: ListLegendItemProps['onMouseOver'];\n onItemMouseOut: ListLegendItemProps['onMouseOut'];\n}\n\n/**\n * CompactLegend is default and used when legend items need to show side by side\n * which corresponds to when legend.position is `bottom` with a relatively small\n * number of items. The `ListLegend` is used for cases with large numbers of items\n * because it is virtualized.\n */\nexport function CompactLegend({\n height,\n items,\n selectedItems,\n onLegendItemClick,\n onItemMouseOver,\n onItemMouseOut,\n}: CompactLegendProps): ReactElement {\n return (\n <Box component=\"ul\" sx={{ width: '100%', height, padding: [0, 1, 0, 0], overflowY: 'scroll', margin: 0 }}>\n {items.map((item, index) => (\n <ListLegendItem\n key={item.id}\n item={item}\n index={index}\n isVisuallySelected={isLegendItemVisuallySelected(item, selectedItems)}\n onMouseOver={onItemMouseOver}\n onMouseOut={onItemMouseOut}\n onClick={onLegendItemClick}\n sx={{\n width: 'auto',\n float: 'left',\n paddingRight: 1.5,\n }}\n />\n ))}\n </Box>\n );\n}\n"],"names":["Box","ListLegendItem","isLegendItemVisuallySelected","CompactLegend","height","items","selectedItems","onLegendItemClick","onItemMouseOver","onItemMouseOut","component","sx","width","padding","overflowY","margin","map","item","index","isVisuallySelected","onMouseOver","onMouseOut","onClick","float","paddingRight","id"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,SAASC,cAAc,QAA6B,mBAAmB;AACvE,SAA8CC,4BAA4B,QAAQ,iBAAiB;AAWnG;;;;;CAKC,GACD,OAAO,SAASC,cAAc,EAC5BC,MAAM,EACNC,KAAK,EACLC,aAAa,EACbC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,EACK;IACnB,qBACE,KAACT;QAAIU,WAAU;QAAKC,IAAI;YAAEC,OAAO;YAAQR;YAAQS,SAAS;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;YAAEC,WAAW;YAAUC,QAAQ;QAAE;kBACpGV,MAAMW,GAAG,CAAC,CAACC,MAAMC,sBAChB,KAACjB;gBAECgB,MAAMA;gBACNC,OAAOA;gBACPC,oBAAoBjB,6BAA6Be,MAAMX;gBACvDc,aAAaZ;gBACba,YAAYZ;gBACZa,SAASf;gBACTI,IAAI;oBACFC,OAAO;oBACPW,OAAO;oBACPC,cAAc;gBAChB;eAXKP,KAAKQ,EAAE;;AAgBtB"}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { ReactElement } from 'react';
2
2
  import { TableLegendProps } from './TableLegend';
3
3
  import { LegendItem, LegendComponentOptions, SelectedLegendItemState } from './legend-model';
4
4
  import { ListLegendItemProps } from './ListLegendItem';
@@ -31,5 +31,5 @@ export interface LegendProps {
31
31
  */
32
32
  tableProps?: Pick<TableLegendProps, 'columns' | 'onSortingChange' | 'sorting'>;
33
33
  }
34
- export declare function Legend({ width, height, options, data, selectedItems, onSelectedItemsChange, onItemMouseOver, onItemMouseOut, tableProps, }: LegendProps): JSX.Element;
34
+ export declare function Legend({ width, height, options, data, selectedItems, onSelectedItemsChange, onItemMouseOver, onItemMouseOut, tableProps, }: LegendProps): ReactElement;
35
35
  //# sourceMappingURL=Legend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/Legend/Legend.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;;;;OAKG;IACH,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;OAEG;IACH,qBAAqB,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEtE;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAErD;;OAEG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC;CAChF;AASD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,EACJ,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,UAAU,GACX,EAAE,WAAW,eA8Fb"}
1
+ {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/Legend/Legend.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAIhD,OAAO,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;;;;OAKG;IACH,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;OAEG;IACH,qBAAqB,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEtE;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAErD;;OAEG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC;CAChF;AASD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,EACJ,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,UAAU,GACX,EAAE,WAAW,GAAG,YAAY,CAkG5B"}