@perses-dev/components 0.55.0-beta.1 → 0.55.0-beta.11

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 (821) hide show
  1. package/dist/AlignSelector/AlignSelector.d.ts +2 -2
  2. package/dist/AlignSelector/AlignSelector.d.ts.map +1 -1
  3. package/dist/AlignSelector/AlignSelector.js +2 -2
  4. package/dist/AlignSelector/AlignSelector.js.map +1 -1
  5. package/dist/AlignSelector/index.js +1 -1
  6. package/dist/AlignSelector/index.js.map +1 -1
  7. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  8. package/dist/ColorPicker/ColorPicker.d.ts.map +1 -1
  9. package/dist/ColorPicker/ColorPicker.js +5 -5
  10. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  11. package/dist/ColorPicker/OptionsColorPicker.d.ts +1 -1
  12. package/dist/ColorPicker/OptionsColorPicker.d.ts.map +1 -1
  13. package/dist/ColorPicker/OptionsColorPicker.js +5 -5
  14. package/dist/ColorPicker/OptionsColorPicker.js.map +1 -1
  15. package/dist/ColorPicker/index.js +2 -2
  16. package/dist/ColorPicker/index.js.map +1 -1
  17. package/dist/ContentWithLegend/ContentWithLegend.d.ts +2 -2
  18. package/dist/ContentWithLegend/ContentWithLegend.d.ts.map +1 -1
  19. package/dist/ContentWithLegend/ContentWithLegend.js +5 -5
  20. package/dist/ContentWithLegend/ContentWithLegend.js.map +1 -1
  21. package/dist/ContentWithLegend/index.js +1 -1
  22. package/dist/ContentWithLegend/index.js.map +1 -1
  23. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts +3 -4
  24. package/dist/ContentWithLegend/model/content-with-legend-model.d.ts.map +1 -1
  25. package/dist/ContentWithLegend/model/content-with-legend-model.js +2 -2
  26. package/dist/ContentWithLegend/model/content-with-legend-model.js.map +1 -1
  27. package/dist/DensitySelector/DensitySelector.d.ts +1 -1
  28. package/dist/DensitySelector/DensitySelector.d.ts.map +1 -1
  29. package/dist/DensitySelector/DensitySelector.js +2 -2
  30. package/dist/DensitySelector/DensitySelector.js.map +1 -1
  31. package/dist/DensitySelector/index.js +1 -1
  32. package/dist/DensitySelector/index.js.map +1 -1
  33. package/dist/Dialog/Dialog.d.ts +4 -3
  34. package/dist/Dialog/Dialog.d.ts.map +1 -1
  35. package/dist/Dialog/Dialog.js +3 -3
  36. package/dist/Dialog/Dialog.js.map +1 -1
  37. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts +1 -1
  38. package/dist/Dialog/DiscardChangesConfirmationDialog.d.ts.map +1 -1
  39. package/dist/Dialog/DiscardChangesConfirmationDialog.js +2 -2
  40. package/dist/Dialog/DiscardChangesConfirmationDialog.js.map +1 -1
  41. package/dist/Dialog/index.js +2 -2
  42. package/dist/Dialog/index.js.map +1 -1
  43. package/dist/DragAndDrop/DragAndDropList.d.ts +1 -1
  44. package/dist/DragAndDrop/DragAndDropList.d.ts.map +1 -1
  45. package/dist/DragAndDrop/DragAndDropList.js +8 -8
  46. package/dist/DragAndDrop/DragAndDropList.js.map +1 -1
  47. package/dist/DragAndDrop/DragButton.d.ts +1 -2
  48. package/dist/DragAndDrop/DragButton.d.ts.map +1 -1
  49. package/dist/DragAndDrop/DragButton.js +4 -4
  50. package/dist/DragAndDrop/DragButton.js.map +1 -1
  51. package/dist/DragAndDrop/DropIndicator.d.ts +1 -1
  52. package/dist/DragAndDrop/DropIndicator.d.ts.map +1 -1
  53. package/dist/DragAndDrop/DropIndicator.js +1 -1
  54. package/dist/DragAndDrop/DropIndicator.js.map +1 -1
  55. package/dist/DragAndDrop/index.js +3 -3
  56. package/dist/DragAndDrop/index.js.map +1 -1
  57. package/dist/DragAndDrop/model.d.ts +1 -1
  58. package/dist/DragAndDrop/model.d.ts.map +1 -1
  59. package/dist/DragAndDrop/model.js.map +1 -1
  60. package/dist/Drawer/Drawer.d.ts +2 -2
  61. package/dist/Drawer/Drawer.d.ts.map +1 -1
  62. package/dist/Drawer/Drawer.js +3 -3
  63. package/dist/Drawer/Drawer.js.map +1 -1
  64. package/dist/Drawer/index.js +1 -1
  65. package/dist/Drawer/index.js.map +1 -1
  66. package/dist/EChart/EChart.d.ts +7 -7
  67. package/dist/EChart/EChart.d.ts.map +1 -1
  68. package/dist/EChart/EChart.js +10 -10
  69. package/dist/EChart/EChart.js.map +1 -1
  70. package/dist/EChart/index.js +2 -2
  71. package/dist/EChart/index.js.map +1 -1
  72. package/dist/EChart/timezone-formatter.js +1 -1
  73. package/dist/ErrorAlert.d.ts +1 -1
  74. package/dist/ErrorAlert.d.ts.map +1 -1
  75. package/dist/ErrorAlert.js +1 -1
  76. package/dist/ErrorAlert.js.map +1 -1
  77. package/dist/ErrorBoundary.js +1 -1
  78. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.d.ts +27 -0
  79. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.d.ts.map +1 -0
  80. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.js +239 -0
  81. package/dist/ExemplarMetadata/ExemplarMetadataTooltip.js.map +1 -0
  82. package/dist/ExemplarMetadata/index.d.ts +2 -0
  83. package/dist/ExemplarMetadata/index.d.ts.map +1 -0
  84. package/dist/{cjs/model/thresholds.js → ExemplarMetadata/index.js} +3 -5
  85. package/dist/ExemplarMetadata/index.js.map +1 -0
  86. package/dist/FontSizeSelector/FontSizeSelector.d.ts +1 -1
  87. package/dist/FontSizeSelector/FontSizeSelector.d.ts.map +1 -1
  88. package/dist/FontSizeSelector/FontSizeSelector.js +2 -2
  89. package/dist/FontSizeSelector/FontSizeSelector.js.map +1 -1
  90. package/dist/FontSizeSelector/index.js +1 -1
  91. package/dist/FontSizeSelector/index.js.map +1 -1
  92. package/dist/FormEditor/FormActions.d.ts +3 -3
  93. package/dist/FormEditor/FormActions.d.ts.map +1 -1
  94. package/dist/FormEditor/FormActions.js +2 -2
  95. package/dist/FormEditor/FormActions.js.map +1 -1
  96. package/dist/FormEditor/index.js +1 -1
  97. package/dist/FormEditor/index.js.map +1 -1
  98. package/dist/FormatControls/FormatControls.d.ts +2 -2
  99. package/dist/FormatControls/FormatControls.d.ts.map +1 -1
  100. package/dist/FormatControls/FormatControls.js +6 -6
  101. package/dist/FormatControls/FormatControls.js.map +1 -1
  102. package/dist/FormatControls/UnitSelector.d.ts +2 -2
  103. package/dist/FormatControls/UnitSelector.d.ts.map +1 -1
  104. package/dist/FormatControls/UnitSelector.js +35 -6
  105. package/dist/FormatControls/UnitSelector.js.map +1 -1
  106. package/dist/FormatControls/index.js +2 -2
  107. package/dist/FormatControls/index.js.map +1 -1
  108. package/dist/InfoTooltip/InfoTooltip.d.ts +1 -1
  109. package/dist/InfoTooltip/InfoTooltip.d.ts.map +1 -1
  110. package/dist/InfoTooltip/InfoTooltip.js +1 -1
  111. package/dist/InfoTooltip/InfoTooltip.js.map +1 -1
  112. package/dist/InfoTooltip/index.js +1 -1
  113. package/dist/InfoTooltip/index.js.map +1 -1
  114. package/dist/JSONEditor.d.ts +2 -2
  115. package/dist/JSONEditor.d.ts.map +1 -1
  116. package/dist/JSONEditor.js +5 -5
  117. package/dist/JSONEditor.js.map +1 -1
  118. package/dist/Legend/CompactLegend.d.ts +3 -3
  119. package/dist/Legend/CompactLegend.d.ts.map +1 -1
  120. package/dist/Legend/CompactLegend.js +3 -3
  121. package/dist/Legend/CompactLegend.js.map +1 -1
  122. package/dist/Legend/Legend.d.ts +4 -4
  123. package/dist/Legend/Legend.d.ts.map +1 -1
  124. package/dist/Legend/Legend.js +6 -6
  125. package/dist/Legend/Legend.js.map +1 -1
  126. package/dist/Legend/LegendColorBadge.d.ts +3 -3
  127. package/dist/Legend/LegendColorBadge.d.ts.map +1 -1
  128. package/dist/Legend/LegendColorBadge.js +4 -4
  129. package/dist/Legend/LegendColorBadge.js.map +1 -1
  130. package/dist/Legend/ListLegend.d.ts +3 -3
  131. package/dist/Legend/ListLegend.d.ts.map +1 -1
  132. package/dist/Legend/ListLegend.js +7 -6
  133. package/dist/Legend/ListLegend.js.map +1 -1
  134. package/dist/Legend/ListLegendItem.d.ts +3 -3
  135. package/dist/Legend/ListLegendItem.d.ts.map +1 -1
  136. package/dist/Legend/ListLegendItem.js +8 -7
  137. package/dist/Legend/ListLegendItem.js.map +1 -1
  138. package/dist/Legend/TableLegend.d.ts +3 -3
  139. package/dist/Legend/TableLegend.d.ts.map +1 -1
  140. package/dist/Legend/TableLegend.js +3 -3
  141. package/dist/Legend/TableLegend.js.map +1 -1
  142. package/dist/Legend/index.js +2 -2
  143. package/dist/Legend/index.js.map +1 -1
  144. package/dist/Legend/legend-model.d.ts +2 -2
  145. package/dist/Legend/legend-model.d.ts.map +1 -1
  146. package/dist/Legend/legend-model.js.map +1 -1
  147. package/dist/LinksEditor/LinkEditorForm.d.ts +1 -1
  148. package/dist/LinksEditor/LinkEditorForm.d.ts.map +1 -1
  149. package/dist/LinksEditor/LinkEditorForm.js +2 -2
  150. package/dist/LinksEditor/LinkEditorForm.js.map +1 -1
  151. package/dist/LinksEditor/index.js +1 -1
  152. package/dist/LinksEditor/index.js.map +1 -1
  153. package/dist/ModeSelector/ModeSelector.d.ts +1 -1
  154. package/dist/ModeSelector/ModeSelector.d.ts.map +1 -1
  155. package/dist/ModeSelector/ModeSelector.js +2 -2
  156. package/dist/ModeSelector/ModeSelector.js.map +1 -1
  157. package/dist/ModeSelector/index.js +1 -1
  158. package/dist/ModeSelector/index.js.map +1 -1
  159. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts +1 -1
  160. package/dist/OptionsEditorLayout/OptionsEditorColumn.d.ts.map +1 -1
  161. package/dist/OptionsEditorLayout/OptionsEditorColumn.js +1 -1
  162. package/dist/OptionsEditorLayout/OptionsEditorColumn.js.map +1 -1
  163. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts +2 -2
  164. package/dist/OptionsEditorLayout/OptionsEditorControl.d.ts.map +1 -1
  165. package/dist/OptionsEditorLayout/OptionsEditorControl.js +6 -6
  166. package/dist/OptionsEditorLayout/OptionsEditorControl.js.map +1 -1
  167. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts +1 -1
  168. package/dist/OptionsEditorLayout/OptionsEditorGrid.d.ts.map +1 -1
  169. package/dist/OptionsEditorLayout/OptionsEditorGrid.js +1 -1
  170. package/dist/OptionsEditorLayout/OptionsEditorGrid.js.map +1 -1
  171. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts +2 -1
  172. package/dist/OptionsEditorLayout/OptionsEditorGroup.d.ts.map +1 -1
  173. package/dist/OptionsEditorLayout/OptionsEditorGroup.js +2 -2
  174. package/dist/OptionsEditorLayout/OptionsEditorGroup.js.map +1 -1
  175. package/dist/OptionsEditorLayout/index.js +4 -4
  176. package/dist/OptionsEditorLayout/index.js.map +1 -1
  177. package/dist/Overlay/Overlay.d.ts +2 -2
  178. package/dist/Overlay/Overlay.d.ts.map +1 -1
  179. package/dist/Overlay/Overlay.js +2 -2
  180. package/dist/Overlay/Overlay.js.map +1 -1
  181. package/dist/Overlay/index.js +1 -1
  182. package/dist/Overlay/index.js.map +1 -1
  183. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts +3 -3
  184. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.d.ts.map +1 -1
  185. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js +2 -2
  186. package/dist/RefreshIntervalPicker/RefreshIntervalPicker.js.map +1 -1
  187. package/dist/RefreshIntervalPicker/index.js +1 -1
  188. package/dist/RefreshIntervalPicker/index.js.map +1 -1
  189. package/dist/RepeatGrid/RepeatGrid.d.ts +15 -0
  190. package/dist/RepeatGrid/RepeatGrid.d.ts.map +1 -0
  191. package/dist/RepeatGrid/RepeatGrid.js +68 -0
  192. package/dist/RepeatGrid/RepeatGrid.js.map +1 -0
  193. package/dist/RepeatGrid/index.d.ts +2 -0
  194. package/dist/RepeatGrid/index.d.ts.map +1 -0
  195. package/dist/{cjs/model/types.js → RepeatGrid/index.js} +3 -4
  196. package/dist/RepeatGrid/index.js.map +1 -0
  197. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts +2 -2
  198. package/dist/SettingsAutocomplete/SettingsAutocomplete.d.ts.map +1 -1
  199. package/dist/SettingsAutocomplete/SettingsAutocomplete.js +2 -2
  200. package/dist/SettingsAutocomplete/SettingsAutocomplete.js.map +1 -1
  201. package/dist/SettingsAutocomplete/index.js +1 -1
  202. package/dist/SettingsAutocomplete/index.js.map +1 -1
  203. package/dist/SortSelector/SortSelector.d.ts +1 -1
  204. package/dist/SortSelector/SortSelector.d.ts.map +1 -1
  205. package/dist/SortSelector/SortSelector.js +2 -2
  206. package/dist/SortSelector/SortSelector.js.map +1 -1
  207. package/dist/SortSelector/SortSelectorButtons.d.ts +3 -3
  208. package/dist/SortSelector/SortSelectorButtons.d.ts.map +1 -1
  209. package/dist/SortSelector/SortSelectorButtons.js +2 -2
  210. package/dist/SortSelector/SortSelectorButtons.js.map +1 -1
  211. package/dist/SortSelector/index.js +2 -2
  212. package/dist/SortSelector/index.js.map +1 -1
  213. package/dist/Table/InnerTable.d.ts +2 -3
  214. package/dist/Table/InnerTable.d.ts.map +1 -1
  215. package/dist/Table/InnerTable.js +3 -3
  216. package/dist/Table/InnerTable.js.map +1 -1
  217. package/dist/Table/Table.d.ts +2 -2
  218. package/dist/Table/Table.d.ts.map +1 -1
  219. package/dist/Table/Table.js +7 -7
  220. package/dist/Table/Table.js.map +1 -1
  221. package/dist/Table/TableBody.d.ts +1 -2
  222. package/dist/Table/TableBody.d.ts.map +1 -1
  223. package/dist/Table/TableBody.js +3 -3
  224. package/dist/Table/TableBody.js.map +1 -1
  225. package/dist/Table/TableCell.d.ts +3 -3
  226. package/dist/Table/TableCell.d.ts.map +1 -1
  227. package/dist/Table/TableCell.js +5 -5
  228. package/dist/Table/TableCell.js.map +1 -1
  229. package/dist/Table/TableCheckbox.d.ts +3 -3
  230. package/dist/Table/TableCheckbox.d.ts.map +1 -1
  231. package/dist/Table/TableCheckbox.js +2 -2
  232. package/dist/Table/TableCheckbox.js.map +1 -1
  233. package/dist/Table/TableFoot.d.ts +1 -2
  234. package/dist/Table/TableFoot.d.ts.map +1 -1
  235. package/dist/Table/TableFoot.js +3 -3
  236. package/dist/Table/TableFoot.js.map +1 -1
  237. package/dist/Table/TableHead.d.ts +1 -2
  238. package/dist/Table/TableHead.d.ts.map +1 -1
  239. package/dist/Table/TableHead.js +3 -3
  240. package/dist/Table/TableHead.js.map +1 -1
  241. package/dist/Table/TableHeaderCell.d.ts +3 -3
  242. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  243. package/dist/Table/TableHeaderCell.js +2 -2
  244. package/dist/Table/TableHeaderCell.js.map +1 -1
  245. package/dist/Table/TableRow.d.ts +2 -3
  246. package/dist/Table/TableRow.d.ts.map +1 -1
  247. package/dist/Table/TableRow.js +3 -3
  248. package/dist/Table/TableRow.js.map +1 -1
  249. package/dist/Table/TableToolbar.d.ts +2 -2
  250. package/dist/Table/TableToolbar.d.ts.map +1 -1
  251. package/dist/Table/TableToolbar.js +8 -8
  252. package/dist/Table/TableToolbar.js.map +1 -1
  253. package/dist/Table/VirtualizedTable.d.ts +4 -4
  254. package/dist/Table/VirtualizedTable.d.ts.map +1 -1
  255. package/dist/Table/VirtualizedTable.js +14 -14
  256. package/dist/Table/VirtualizedTable.js.map +1 -1
  257. package/dist/Table/VirtualizedTableContainer.d.ts +1 -2
  258. package/dist/Table/VirtualizedTableContainer.d.ts.map +1 -1
  259. package/dist/Table/VirtualizedTableContainer.js +4 -4
  260. package/dist/Table/VirtualizedTableContainer.js.map +1 -1
  261. package/dist/Table/hooks/useFuzzySearch.d.ts +3 -3
  262. package/dist/Table/hooks/useFuzzySearch.d.ts.map +1 -1
  263. package/dist/Table/hooks/useFuzzySearch.js +3 -3
  264. package/dist/Table/hooks/useFuzzySearch.js.map +1 -1
  265. package/dist/Table/hooks/useTableKeyboardNav.d.ts +1 -1
  266. package/dist/Table/hooks/useTableKeyboardNav.d.ts.map +1 -1
  267. package/dist/Table/hooks/useTableKeyboardNav.js +4 -4
  268. package/dist/Table/hooks/useTableKeyboardNav.js.map +1 -1
  269. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts +3 -3
  270. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.d.ts.map +1 -1
  271. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js +1 -1
  272. package/dist/Table/hooks/useVirtualizedTableKeyboardNav.js.map +1 -1
  273. package/dist/Table/index.js +2 -2
  274. package/dist/Table/index.js.map +1 -1
  275. package/dist/Table/model/table-model.d.ts +5 -5
  276. package/dist/Table/model/table-model.d.ts.map +1 -1
  277. package/dist/Table/model/table-model.js.map +1 -1
  278. package/dist/ThresholdsEditor/ThresholdInput.d.ts +2 -2
  279. package/dist/ThresholdsEditor/ThresholdInput.d.ts.map +1 -1
  280. package/dist/ThresholdsEditor/ThresholdInput.js +4 -4
  281. package/dist/ThresholdsEditor/ThresholdInput.js.map +1 -1
  282. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts +2 -2
  283. package/dist/ThresholdsEditor/ThresholdsEditor.d.ts.map +1 -1
  284. package/dist/ThresholdsEditor/ThresholdsEditor.js +11 -11
  285. package/dist/ThresholdsEditor/ThresholdsEditor.js.map +1 -1
  286. package/dist/ThresholdsEditor/index.js +1 -1
  287. package/dist/ThresholdsEditor/index.js.map +1 -1
  288. package/dist/TimeRangeSelector/DateTimeRangePicker.d.ts +2 -2
  289. package/dist/TimeRangeSelector/DateTimeRangePicker.d.ts.map +1 -1
  290. package/dist/TimeRangeSelector/DateTimeRangePicker.js +8 -8
  291. package/dist/TimeRangeSelector/DateTimeRangePicker.js.map +1 -1
  292. package/dist/TimeRangeSelector/TimeRangeSelector.d.ts +4 -4
  293. package/dist/TimeRangeSelector/TimeRangeSelector.d.ts.map +1 -1
  294. package/dist/TimeRangeSelector/TimeRangeSelector.js +12 -19
  295. package/dist/TimeRangeSelector/TimeRangeSelector.js.map +1 -1
  296. package/dist/TimeRangeSelector/index.js +2 -2
  297. package/dist/TimeRangeSelector/index.js.map +1 -1
  298. package/dist/TimeRangeSelector/utils.d.ts +1 -1
  299. package/dist/TimeRangeSelector/utils.d.ts.map +1 -1
  300. package/dist/TimeRangeSelector/utils.js +3 -3
  301. package/dist/TimeRangeSelector/utils.js.map +1 -1
  302. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts +1 -1
  303. package/dist/TimeSeriesTooltip/SeriesInfo.d.ts.map +1 -1
  304. package/dist/TimeSeriesTooltip/SeriesInfo.js +4 -4
  305. package/dist/TimeSeriesTooltip/SeriesInfo.js.map +1 -1
  306. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts +1 -1
  307. package/dist/TimeSeriesTooltip/SeriesLabelsStack.d.ts.map +1 -1
  308. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js +2 -2
  309. package/dist/TimeSeriesTooltip/SeriesLabelsStack.js.map +1 -1
  310. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts +2 -2
  311. package/dist/TimeSeriesTooltip/SeriesMarker.d.ts.map +1 -1
  312. package/dist/TimeSeriesTooltip/SeriesMarker.js +3 -3
  313. package/dist/TimeSeriesTooltip/SeriesMarker.js.map +1 -1
  314. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts +6 -6
  315. package/dist/TimeSeriesTooltip/TimeChartTooltip.d.ts.map +1 -1
  316. package/dist/TimeSeriesTooltip/TimeChartTooltip.js +8 -8
  317. package/dist/TimeSeriesTooltip/TimeChartTooltip.js.map +1 -1
  318. package/dist/TimeSeriesTooltip/TooltipContent.d.ts +2 -2
  319. package/dist/TimeSeriesTooltip/TooltipContent.d.ts.map +1 -1
  320. package/dist/TimeSeriesTooltip/TooltipContent.js +4 -4
  321. package/dist/TimeSeriesTooltip/TooltipContent.js.map +1 -1
  322. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts +2 -3
  323. package/dist/TimeSeriesTooltip/TooltipHeader.d.ts.map +1 -1
  324. package/dist/TimeSeriesTooltip/TooltipHeader.js +6 -6
  325. package/dist/TimeSeriesTooltip/TooltipHeader.js.map +1 -1
  326. package/dist/TimeSeriesTooltip/index.js +10 -10
  327. package/dist/TimeSeriesTooltip/index.js.map +1 -1
  328. package/dist/TimeSeriesTooltip/nearby-series.d.ts +5 -5
  329. package/dist/TimeSeriesTooltip/nearby-series.d.ts.map +1 -1
  330. package/dist/TimeSeriesTooltip/nearby-series.js +5 -5
  331. package/dist/TimeSeriesTooltip/nearby-series.js.map +1 -1
  332. package/dist/TimeSeriesTooltip/tooltip-model.d.ts +1 -1
  333. package/dist/TimeSeriesTooltip/tooltip-model.d.ts.map +1 -1
  334. package/dist/TimeSeriesTooltip/tooltip-model.js +1 -1
  335. package/dist/TimeSeriesTooltip/tooltip-model.js.map +1 -1
  336. package/dist/TimeSeriesTooltip/utils.d.ts +4 -4
  337. package/dist/TimeSeriesTooltip/utils.d.ts.map +1 -1
  338. package/dist/TimeSeriesTooltip/utils.js +1 -1
  339. package/dist/TimeSeriesTooltip/utils.js.map +1 -1
  340. package/dist/TimeZoneSelector.d.ts +3 -3
  341. package/dist/TimeZoneSelector.d.ts.map +1 -1
  342. package/dist/TimeZoneSelector.js +8 -5
  343. package/dist/TimeZoneSelector.js.map +1 -1
  344. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts +1 -2
  345. package/dist/ToolbarIconButton/ToolbarIconButton.d.ts.map +1 -1
  346. package/dist/ToolbarIconButton/ToolbarIconButton.js +3 -3
  347. package/dist/ToolbarIconButton/ToolbarIconButton.js.map +1 -1
  348. package/dist/ToolbarIconButton/index.js +1 -1
  349. package/dist/ToolbarIconButton/index.js.map +1 -1
  350. package/dist/TransformsEditor/TransformEditor.d.ts +3 -3
  351. package/dist/TransformsEditor/TransformEditor.d.ts.map +1 -1
  352. package/dist/TransformsEditor/TransformEditor.js +92 -3
  353. package/dist/TransformsEditor/TransformEditor.js.map +1 -1
  354. package/dist/TransformsEditor/TransformEditorContainer.d.ts +2 -2
  355. package/dist/TransformsEditor/TransformEditorContainer.d.ts.map +1 -1
  356. package/dist/TransformsEditor/TransformEditorContainer.js +8 -8
  357. package/dist/TransformsEditor/TransformEditorContainer.js.map +1 -1
  358. package/dist/TransformsEditor/TransformsEditor.d.ts +3 -3
  359. package/dist/TransformsEditor/TransformsEditor.d.ts.map +1 -1
  360. package/dist/TransformsEditor/TransformsEditor.js +5 -5
  361. package/dist/TransformsEditor/TransformsEditor.js.map +1 -1
  362. package/dist/TransformsEditor/index.js +1 -1
  363. package/dist/TransformsEditor/index.js.map +1 -1
  364. package/dist/ValueMappingEditor/ValueMappingEditor.d.ts +3 -3
  365. package/dist/ValueMappingEditor/ValueMappingEditor.d.ts.map +1 -1
  366. package/dist/ValueMappingEditor/ValueMappingEditor.js +5 -5
  367. package/dist/ValueMappingEditor/ValueMappingEditor.js.map +1 -1
  368. package/dist/ValueMappingEditor/ValueMappingsEditor.d.ts +2 -2
  369. package/dist/ValueMappingEditor/ValueMappingsEditor.d.ts.map +1 -1
  370. package/dist/ValueMappingEditor/ValueMappingsEditor.js +4 -4
  371. package/dist/ValueMappingEditor/ValueMappingsEditor.js.map +1 -1
  372. package/dist/ValueMappingEditor/index.js +1 -1
  373. package/dist/ValueMappingEditor/index.js.map +1 -1
  374. package/dist/YAxisLabel.d.ts +1 -1
  375. package/dist/YAxisLabel.d.ts.map +1 -1
  376. package/dist/YAxisLabel.js +1 -1
  377. package/dist/YAxisLabel.js.map +1 -1
  378. package/dist/context/ChartsProvider.d.ts +4 -3
  379. package/dist/context/ChartsProvider.d.ts.map +1 -1
  380. package/dist/context/ChartsProvider.js +2 -2
  381. package/dist/context/ChartsProvider.js.map +1 -1
  382. package/dist/context/ItemActionsProvider.d.ts +1 -1
  383. package/dist/context/ItemActionsProvider.d.ts.map +1 -1
  384. package/dist/context/ItemActionsProvider.js +2 -2
  385. package/dist/context/ItemActionsProvider.js.map +1 -1
  386. package/dist/context/SelectionProvider.d.ts +1 -1
  387. package/dist/context/SelectionProvider.d.ts.map +1 -1
  388. package/dist/context/SelectionProvider.js +2 -2
  389. package/dist/context/SelectionProvider.js.map +1 -1
  390. package/dist/context/SnackbarProvider.d.ts +2 -1
  391. package/dist/context/SnackbarProvider.d.ts.map +1 -1
  392. package/dist/context/SnackbarProvider.js +3 -3
  393. package/dist/context/SnackbarProvider.js.map +1 -1
  394. package/dist/context/TimeZoneProvider.d.ts +2 -1
  395. package/dist/context/TimeZoneProvider.d.ts.map +1 -1
  396. package/dist/context/TimeZoneProvider.js +3 -3
  397. package/dist/context/TimeZoneProvider.js.map +1 -1
  398. package/dist/context/index.js +5 -5
  399. package/dist/context/index.js.map +1 -1
  400. package/dist/controls/TextField.d.ts +1 -2
  401. package/dist/controls/TextField.d.ts.map +1 -1
  402. package/dist/controls/TextField.js +4 -4
  403. package/dist/controls/TextField.js.map +1 -1
  404. package/dist/controls/index.js +1 -1
  405. package/dist/controls/index.js.map +1 -1
  406. package/dist/index.d.ts +2 -0
  407. package/dist/index.d.ts.map +1 -1
  408. package/dist/index.js +40 -38
  409. package/dist/index.js.map +1 -1
  410. package/dist/model/action.d.ts +1 -1
  411. package/dist/model/action.d.ts.map +1 -1
  412. package/dist/model/action.js.map +1 -1
  413. package/dist/model/bits.d.ts +1 -1
  414. package/dist/model/bits.d.ts.map +1 -1
  415. package/dist/model/bits.js +4 -4
  416. package/dist/model/bits.js.map +1 -1
  417. package/dist/model/bytes.d.ts +1 -1
  418. package/dist/model/bytes.d.ts.map +1 -1
  419. package/dist/model/bytes.js +4 -4
  420. package/dist/model/bytes.js.map +1 -1
  421. package/dist/model/currency.d.ts +1 -1
  422. package/dist/model/currency.d.ts.map +1 -1
  423. package/dist/model/currency.js +4 -4
  424. package/dist/model/currency.js.map +1 -1
  425. package/dist/model/date.d.ts +1 -1
  426. package/dist/model/date.d.ts.map +1 -1
  427. package/dist/model/date.js.map +1 -1
  428. package/dist/model/decimal.d.ts +1 -1
  429. package/dist/model/decimal.d.ts.map +1 -1
  430. package/dist/model/decimal.js +3 -3
  431. package/dist/model/decimal.js.map +1 -1
  432. package/dist/model/formatterCache.js.map +1 -1
  433. package/dist/model/graph.d.ts +3 -3
  434. package/dist/model/graph.d.ts.map +1 -1
  435. package/dist/model/graph.js.map +1 -1
  436. package/dist/model/index.js +21 -21
  437. package/dist/model/index.js.map +1 -1
  438. package/dist/model/legend.d.ts +3 -3
  439. package/dist/model/legend.d.ts.map +1 -1
  440. package/dist/model/percent.d.ts +1 -1
  441. package/dist/model/percent.d.ts.map +1 -1
  442. package/dist/model/percent.js +3 -3
  443. package/dist/model/percent.js.map +1 -1
  444. package/dist/model/temperature.d.ts +1 -1
  445. package/dist/model/temperature.d.ts.map +1 -1
  446. package/dist/model/temperature.js +3 -3
  447. package/dist/model/temperature.js.map +1 -1
  448. package/dist/model/theme.d.ts +1 -1
  449. package/dist/model/theme.d.ts.map +1 -1
  450. package/dist/model/theme.js.map +1 -1
  451. package/dist/model/throughput.d.ts +1 -1
  452. package/dist/model/throughput.d.ts.map +1 -1
  453. package/dist/model/throughput.js +5 -5
  454. package/dist/model/throughput.js.map +1 -1
  455. package/dist/model/time.d.ts +1 -1
  456. package/dist/model/time.d.ts.map +1 -1
  457. package/dist/model/time.js +3 -3
  458. package/dist/model/time.js.map +1 -1
  459. package/dist/model/timeOption.d.ts +1 -1
  460. package/dist/model/timeOption.d.ts.map +1 -1
  461. package/dist/model/timeOption.js +2 -2
  462. package/dist/model/timeOption.js.map +1 -1
  463. package/dist/model/transforms.d.ts +22 -1
  464. package/dist/model/transforms.d.ts.map +1 -1
  465. package/dist/model/transforms.js +2 -1
  466. package/dist/model/transforms.js.map +1 -1
  467. package/dist/model/types.d.ts +3 -3
  468. package/dist/model/types.d.ts.map +1 -1
  469. package/dist/model/types.js.map +1 -1
  470. package/dist/model/units.d.ts +51 -51
  471. package/dist/model/units.d.ts.map +1 -1
  472. package/dist/model/units.js +9 -9
  473. package/dist/model/units.js.map +1 -1
  474. package/dist/test/index.js +1 -1
  475. package/dist/test/index.js.map +1 -1
  476. package/dist/test/render.d.ts +2 -2
  477. package/dist/test/render.d.ts.map +1 -1
  478. package/dist/test/render.js +2 -2
  479. package/dist/test/render.js.map +1 -1
  480. package/dist/test/setup-tests.d.ts +1 -1
  481. package/dist/test/setup-tests.d.ts.map +1 -1
  482. package/dist/test/setup-tests.js +3 -2
  483. package/dist/test/setup-tests.js.map +1 -1
  484. package/dist/test-utils/index.js +1 -1
  485. package/dist/test-utils/index.js.map +1 -1
  486. package/dist/test-utils/theme.d.ts +2 -2
  487. package/dist/test-utils/theme.d.ts.map +1 -1
  488. package/dist/test-utils/theme.js +2 -2
  489. package/dist/test-utils/theme.js.map +1 -1
  490. package/dist/theme/component-overrides/alert.d.ts +1 -1
  491. package/dist/theme/component-overrides/alert.d.ts.map +1 -1
  492. package/dist/theme/component-overrides/alert.js +1 -1
  493. package/dist/theme/component-overrides/alert.js.map +1 -1
  494. package/dist/theme/component-overrides/paper.d.ts +1 -1
  495. package/dist/theme/component-overrides/paper.d.ts.map +1 -1
  496. package/dist/theme/component-overrides/paper.js.map +1 -1
  497. package/dist/theme/index.d.ts +1 -1
  498. package/dist/theme/index.d.ts.map +1 -1
  499. package/dist/theme/index.js +2 -2
  500. package/dist/theme/index.js.map +1 -1
  501. package/dist/theme/palette/background.d.ts +1 -1
  502. package/dist/theme/palette/background.d.ts.map +1 -1
  503. package/dist/theme/palette/background.js +1 -1
  504. package/dist/theme/palette/background.js.map +1 -1
  505. package/dist/theme/palette/colors/blue.d.ts +1 -1
  506. package/dist/theme/palette/colors/blue.d.ts.map +1 -1
  507. package/dist/theme/palette/colors/blue.js.map +1 -1
  508. package/dist/theme/palette/colors/green.d.ts +1 -1
  509. package/dist/theme/palette/colors/green.d.ts.map +1 -1
  510. package/dist/theme/palette/colors/green.js.map +1 -1
  511. package/dist/theme/palette/colors/grey.d.ts +1 -1
  512. package/dist/theme/palette/colors/grey.d.ts.map +1 -1
  513. package/dist/theme/palette/colors/grey.js.map +1 -1
  514. package/dist/theme/palette/colors/index.js +8 -8
  515. package/dist/theme/palette/colors/index.js.map +1 -1
  516. package/dist/theme/palette/colors/orange.d.ts +1 -1
  517. package/dist/theme/palette/colors/orange.d.ts.map +1 -1
  518. package/dist/theme/palette/colors/orange.js.map +1 -1
  519. package/dist/theme/palette/colors/purple.d.ts +1 -1
  520. package/dist/theme/palette/colors/purple.d.ts.map +1 -1
  521. package/dist/theme/palette/colors/purple.js.map +1 -1
  522. package/dist/theme/palette/colors/red.d.ts +1 -1
  523. package/dist/theme/palette/colors/red.d.ts.map +1 -1
  524. package/dist/theme/palette/colors/red.js.map +1 -1
  525. package/dist/theme/palette/error.d.ts +1 -1
  526. package/dist/theme/palette/error.d.ts.map +1 -1
  527. package/dist/theme/palette/error.js +1 -1
  528. package/dist/theme/palette/error.js.map +1 -1
  529. package/dist/theme/palette/grey.d.ts +1 -1
  530. package/dist/theme/palette/grey.d.ts.map +1 -1
  531. package/dist/theme/palette/grey.js +1 -1
  532. package/dist/theme/palette/grey.js.map +1 -1
  533. package/dist/theme/palette/index.js +1 -1
  534. package/dist/theme/palette/index.js.map +1 -1
  535. package/dist/theme/palette/palette-options.d.ts +1 -1
  536. package/dist/theme/palette/palette-options.d.ts.map +1 -1
  537. package/dist/theme/palette/palette-options.js +10 -10
  538. package/dist/theme/palette/palette-options.js.map +1 -1
  539. package/dist/theme/palette/primary.d.ts +1 -1
  540. package/dist/theme/palette/primary.d.ts.map +1 -1
  541. package/dist/theme/palette/primary.js +1 -1
  542. package/dist/theme/palette/primary.js.map +1 -1
  543. package/dist/theme/palette/secondary.d.ts +1 -1
  544. package/dist/theme/palette/secondary.d.ts.map +1 -1
  545. package/dist/theme/palette/secondary.js +1 -1
  546. package/dist/theme/palette/secondary.js.map +1 -1
  547. package/dist/theme/palette/success.d.ts +1 -1
  548. package/dist/theme/palette/success.d.ts.map +1 -1
  549. package/dist/theme/palette/success.js +1 -1
  550. package/dist/theme/palette/success.js.map +1 -1
  551. package/dist/theme/palette/text.d.ts +1 -1
  552. package/dist/theme/palette/text.d.ts.map +1 -1
  553. package/dist/theme/palette/text.js +1 -1
  554. package/dist/theme/palette/text.js.map +1 -1
  555. package/dist/theme/palette/warning.d.ts +1 -1
  556. package/dist/theme/palette/warning.d.ts.map +1 -1
  557. package/dist/theme/palette/warning.js +1 -1
  558. package/dist/theme/palette/warning.js.map +1 -1
  559. package/dist/theme/theme.d.ts +2 -1
  560. package/dist/theme/theme.d.ts.map +1 -1
  561. package/dist/theme/theme.js +5 -5
  562. package/dist/theme/theme.js.map +1 -1
  563. package/dist/theme/types/ThemeExtension.d.js +2 -1
  564. package/dist/theme/types/ThemeExtension.d.js.map +1 -1
  565. package/dist/{cjs/model/theme.js → theme/types/fonts.d.js} +2 -4
  566. package/dist/theme/types/fonts.d.js.map +1 -0
  567. package/dist/theme/typography.d.ts +1 -1
  568. package/dist/theme/typography.d.ts.map +1 -1
  569. package/dist/theme/typography.js +6 -6
  570. package/dist/theme/typography.js.map +1 -1
  571. package/dist/utils/axis.d.ts +1 -1
  572. package/dist/utils/axis.d.ts.map +1 -1
  573. package/dist/utils/axis.js +2 -2
  574. package/dist/utils/axis.js.map +1 -1
  575. package/dist/utils/browser-storage.js +1 -1
  576. package/dist/utils/browser-storage.js.map +1 -1
  577. package/dist/utils/chart-actions.d.ts +3 -3
  578. package/dist/utils/chart-actions.d.ts.map +1 -1
  579. package/dist/utils/chart-actions.js +1 -1
  580. package/dist/utils/chart-actions.js.map +1 -1
  581. package/dist/utils/combine-sx.d.ts +1 -1
  582. package/dist/utils/combine-sx.d.ts.map +1 -1
  583. package/dist/utils/combine-sx.js.map +1 -1
  584. package/dist/utils/component-ids.js +1 -1
  585. package/dist/utils/data-field-interpolation.js +1 -1
  586. package/dist/utils/data-field-interpolation.js.map +1 -1
  587. package/dist/utils/format.js +8 -3
  588. package/dist/utils/format.js.map +1 -1
  589. package/dist/utils/index.js +19 -19
  590. package/dist/utils/index.js.map +1 -1
  591. package/dist/utils/mathjs.d.ts +1 -1
  592. package/dist/utils/mathjs.js +1 -1
  593. package/dist/utils/memo.d.ts +1 -1
  594. package/dist/utils/memo.d.ts.map +1 -1
  595. package/dist/utils/memo.js +2 -2
  596. package/dist/utils/memo.js.map +1 -1
  597. package/dist/utils/regexp.js +3 -1
  598. package/dist/utils/regexp.js.map +1 -1
  599. package/dist/utils/request-interpolation.d.ts +2 -2
  600. package/dist/utils/request-interpolation.d.ts.map +1 -1
  601. package/dist/utils/request-interpolation.js +2 -2
  602. package/dist/utils/request-interpolation.js.map +1 -1
  603. package/dist/utils/selection-interpolation.d.ts +2 -2
  604. package/dist/utils/selection-interpolation.d.ts.map +1 -1
  605. package/dist/utils/selection-interpolation.js +2 -2
  606. package/dist/utils/selection-interpolation.js.map +1 -1
  607. package/dist/utils/text.d.ts +1 -1
  608. package/dist/utils/text.d.ts.map +1 -1
  609. package/dist/utils/text.js.map +1 -1
  610. package/dist/utils/theme-gen.d.ts +2 -2
  611. package/dist/utils/theme-gen.d.ts.map +1 -1
  612. package/dist/utils/theme-gen.js +1 -1
  613. package/dist/utils/theme-gen.js.map +1 -1
  614. package/dist/utils/time-series-data.d.ts +1 -1
  615. package/dist/utils/time-series-data.d.ts.map +1 -1
  616. package/dist/utils/time-series-data.js +1 -1
  617. package/dist/utils/time-series-data.js.map +1 -1
  618. package/dist/utils/trace-data.d.ts +2 -2
  619. package/dist/utils/trace-data.d.ts.map +1 -1
  620. package/dist/utils/trace-data.js.map +1 -1
  621. package/dist/utils/transform-data.d.ts +6 -1
  622. package/dist/utils/transform-data.d.ts.map +1 -1
  623. package/dist/utils/transform-data.js +97 -1
  624. package/dist/utils/transform-data.js.map +1 -1
  625. package/dist/utils/value-mapping.d.ts +1 -1
  626. package/dist/utils/value-mapping.d.ts.map +1 -1
  627. package/dist/utils/value-mapping.js +1 -1
  628. package/dist/utils/value-mapping.js.map +1 -1
  629. package/dist/utils/variable-interpolation.d.ts +20 -1
  630. package/dist/utils/variable-interpolation.d.ts.map +1 -1
  631. package/dist/utils/variable-interpolation.js +77 -1
  632. package/dist/utils/variable-interpolation.js.map +1 -1
  633. package/package.json +12 -12
  634. package/dist/cjs/AlignSelector/AlignSelector.js +0 -50
  635. package/dist/cjs/AlignSelector/index.js +0 -30
  636. package/dist/cjs/ColorPicker/ColorPicker.js +0 -106
  637. package/dist/cjs/ColorPicker/OptionsColorPicker.js +0 -92
  638. package/dist/cjs/ColorPicker/index.js +0 -31
  639. package/dist/cjs/ContentWithLegend/ContentWithLegend.js +0 -71
  640. package/dist/cjs/ContentWithLegend/index.js +0 -30
  641. package/dist/cjs/ContentWithLegend/model/content-with-legend-model.js +0 -122
  642. package/dist/cjs/DensitySelector/DensitySelector.js +0 -54
  643. package/dist/cjs/DensitySelector/index.js +0 -30
  644. package/dist/cjs/Dialog/Dialog.js +0 -102
  645. package/dist/cjs/Dialog/DiscardChangesConfirmationDialog.js +0 -55
  646. package/dist/cjs/Dialog/index.js +0 -31
  647. package/dist/cjs/DragAndDrop/DragAndDropList.js +0 -159
  648. package/dist/cjs/DragAndDrop/DragButton.js +0 -123
  649. package/dist/cjs/DragAndDrop/DropIndicator.js +0 -52
  650. package/dist/cjs/DragAndDrop/index.js +0 -32
  651. package/dist/cjs/DragAndDrop/model.js +0 -25
  652. package/dist/cjs/Drawer/Drawer.js +0 -44
  653. package/dist/cjs/Drawer/index.js +0 -30
  654. package/dist/cjs/EChart/EChart.js +0 -203
  655. package/dist/cjs/EChart/index.js +0 -31
  656. package/dist/cjs/EChart/timezone-formatter.js +0 -49
  657. package/dist/cjs/ErrorAlert.js +0 -31
  658. package/dist/cjs/ErrorBoundary.js +0 -24
  659. package/dist/cjs/FontSizeSelector/FontSizeSelector.js +0 -132
  660. package/dist/cjs/FontSizeSelector/index.js +0 -30
  661. package/dist/cjs/FormEditor/FormActions.js +0 -83
  662. package/dist/cjs/FormEditor/index.js +0 -30
  663. package/dist/cjs/FormatControls/FormatControls.js +0 -119
  664. package/dist/cjs/FormatControls/UnitSelector.js +0 -55
  665. package/dist/cjs/FormatControls/index.js +0 -31
  666. package/dist/cjs/InfoTooltip/InfoTooltip.js +0 -86
  667. package/dist/cjs/InfoTooltip/index.js +0 -30
  668. package/dist/cjs/JSONEditor.js +0 -69
  669. package/dist/cjs/Legend/CompactLegend.js +0 -56
  670. package/dist/cjs/Legend/Legend.js +0 -131
  671. package/dist/cjs/Legend/LegendColorBadge.js +0 -39
  672. package/dist/cjs/Legend/ListLegend.js +0 -54
  673. package/dist/cjs/Legend/ListLegendItem.js +0 -84
  674. package/dist/cjs/Legend/TableLegend.js +0 -98
  675. package/dist/cjs/Legend/index.js +0 -31
  676. package/dist/cjs/Legend/legend-model.js +0 -27
  677. package/dist/cjs/LinksEditor/LinkEditorForm.js +0 -95
  678. package/dist/cjs/LinksEditor/index.js +0 -30
  679. package/dist/cjs/ModeSelector/ModeSelector.js +0 -51
  680. package/dist/cjs/ModeSelector/index.js +0 -30
  681. package/dist/cjs/OptionsEditorLayout/OptionsEditorColumn.js +0 -34
  682. package/dist/cjs/OptionsEditorLayout/OptionsEditorControl.js +0 -95
  683. package/dist/cjs/OptionsEditorLayout/OptionsEditorGrid.js +0 -31
  684. package/dist/cjs/OptionsEditorLayout/OptionsEditorGroup.js +0 -59
  685. package/dist/cjs/OptionsEditorLayout/index.js +0 -33
  686. package/dist/cjs/Overlay/Overlay.js +0 -71
  687. package/dist/cjs/Overlay/index.js +0 -30
  688. package/dist/cjs/RefreshIntervalPicker/RefreshIntervalPicker.js +0 -68
  689. package/dist/cjs/RefreshIntervalPicker/index.js +0 -30
  690. package/dist/cjs/SettingsAutocomplete/SettingsAutocomplete.js +0 -82
  691. package/dist/cjs/SettingsAutocomplete/index.js +0 -30
  692. package/dist/cjs/SortSelector/SortSelector.js +0 -50
  693. package/dist/cjs/SortSelector/SortSelectorButtons.js +0 -50
  694. package/dist/cjs/SortSelector/index.js +0 -31
  695. package/dist/cjs/Table/InnerTable.js +0 -47
  696. package/dist/cjs/Table/Table.js +0 -222
  697. package/dist/cjs/Table/TableBody.js +0 -31
  698. package/dist/cjs/Table/TableCell.js +0 -153
  699. package/dist/cjs/Table/TableCheckbox.js +0 -57
  700. package/dist/cjs/Table/TableFoot.js +0 -31
  701. package/dist/cjs/Table/TableHead.js +0 -31
  702. package/dist/cjs/Table/TableHeaderCell.js +0 -93
  703. package/dist/cjs/Table/TableRow.js +0 -37
  704. package/dist/cjs/Table/TableToolbar.js +0 -151
  705. package/dist/cjs/Table/VirtualizedTable.js +0 -284
  706. package/dist/cjs/Table/VirtualizedTableContainer.js +0 -36
  707. package/dist/cjs/Table/hooks/useFuzzySearch.js +0 -67
  708. package/dist/cjs/Table/hooks/useTableKeyboardNav.js +0 -108
  709. package/dist/cjs/Table/hooks/useVirtualizedTableKeyboardNav.js +0 -89
  710. package/dist/cjs/Table/index.js +0 -31
  711. package/dist/cjs/Table/model/table-model.js +0 -138
  712. package/dist/cjs/ThresholdsEditor/ThresholdInput.js +0 -80
  713. package/dist/cjs/ThresholdsEditor/ThresholdsEditor.js +0 -282
  714. package/dist/cjs/ThresholdsEditor/index.js +0 -30
  715. package/dist/cjs/TimeRangeSelector/DateTimeRangePicker.js +0 -204
  716. package/dist/cjs/TimeRangeSelector/TimeRangeSelector.js +0 -271
  717. package/dist/cjs/TimeRangeSelector/index.js +0 -31
  718. package/dist/cjs/TimeRangeSelector/utils.js +0 -72
  719. package/dist/cjs/TimeSeriesTooltip/SeriesInfo.js +0 -98
  720. package/dist/cjs/TimeSeriesTooltip/SeriesLabelsStack.js +0 -107
  721. package/dist/cjs/TimeSeriesTooltip/SeriesMarker.js +0 -41
  722. package/dist/cjs/TimeSeriesTooltip/TimeChartTooltip.js +0 -113
  723. package/dist/cjs/TimeSeriesTooltip/TooltipContent.js +0 -58
  724. package/dist/cjs/TimeSeriesTooltip/TooltipHeader.js +0 -168
  725. package/dist/cjs/TimeSeriesTooltip/index.js +0 -39
  726. package/dist/cjs/TimeSeriesTooltip/nearby-series.js +0 -454
  727. package/dist/cjs/TimeSeriesTooltip/tooltip-model.js +0 -148
  728. package/dist/cjs/TimeSeriesTooltip/types.js +0 -16
  729. package/dist/cjs/TimeSeriesTooltip/utils.js +0 -199
  730. package/dist/cjs/TimeZoneSelector.js +0 -63
  731. package/dist/cjs/ToolbarIconButton/ToolbarIconButton.js +0 -40
  732. package/dist/cjs/ToolbarIconButton/index.js +0 -30
  733. package/dist/cjs/TransformsEditor/TransformEditor.js +0 -297
  734. package/dist/cjs/TransformsEditor/TransformEditorContainer.js +0 -131
  735. package/dist/cjs/TransformsEditor/TransformsEditor.js +0 -103
  736. package/dist/cjs/TransformsEditor/index.js +0 -30
  737. package/dist/cjs/ValueMappingEditor/ValueMappingEditor.js +0 -387
  738. package/dist/cjs/ValueMappingEditor/ValueMappingsEditor.js +0 -131
  739. package/dist/cjs/ValueMappingEditor/index.js +0 -30
  740. package/dist/cjs/YAxisLabel.js +0 -50
  741. package/dist/cjs/context/ChartsProvider.js +0 -114
  742. package/dist/cjs/context/ItemActionsProvider.js +0 -111
  743. package/dist/cjs/context/SelectionProvider.js +0 -128
  744. package/dist/cjs/context/SnackbarProvider.js +0 -126
  745. package/dist/cjs/context/TimeZoneProvider.js +0 -98
  746. package/dist/cjs/context/index.js +0 -34
  747. package/dist/cjs/controls/TextField.js +0 -54
  748. package/dist/cjs/controls/index.js +0 -30
  749. package/dist/cjs/index.js +0 -67
  750. package/dist/cjs/model/action.js +0 -43
  751. package/dist/cjs/model/bits.js +0 -113
  752. package/dist/cjs/model/bytes.js +0 -115
  753. package/dist/cjs/model/constants.js +0 -23
  754. package/dist/cjs/model/currency.js +0 -126
  755. package/dist/cjs/model/date.js +0 -297
  756. package/dist/cjs/model/decimal.js +0 -72
  757. package/dist/cjs/model/formatterCache.js +0 -120
  758. package/dist/cjs/model/graph.js +0 -59
  759. package/dist/cjs/model/index.js +0 -50
  760. package/dist/cjs/model/legend.js +0 -101
  761. package/dist/cjs/model/percent.js +0 -82
  762. package/dist/cjs/model/temperature.js +0 -72
  763. package/dist/cjs/model/throughput.js +0 -161
  764. package/dist/cjs/model/time.js +0 -178
  765. package/dist/cjs/model/timeOption.js +0 -34
  766. package/dist/cjs/model/timeZoneOption.js +0 -34
  767. package/dist/cjs/model/transforms.js +0 -29
  768. package/dist/cjs/model/units.js +0 -186
  769. package/dist/cjs/model/utils.js +0 -48
  770. package/dist/cjs/model/value-mapping.js +0 -16
  771. package/dist/cjs/test/index.js +0 -30
  772. package/dist/cjs/test/render.js +0 -38
  773. package/dist/cjs/test/setup-tests.js +0 -20
  774. package/dist/cjs/test-utils/index.js +0 -30
  775. package/dist/cjs/test-utils/theme.js +0 -61
  776. package/dist/cjs/theme/component-overrides/alert.js +0 -104
  777. package/dist/cjs/theme/component-overrides/paper.js +0 -29
  778. package/dist/cjs/theme/index.js +0 -31
  779. package/dist/cjs/theme/palette/background.js +0 -46
  780. package/dist/cjs/theme/palette/colors/blue.js +0 -37
  781. package/dist/cjs/theme/palette/colors/common.js +0 -32
  782. package/dist/cjs/theme/palette/colors/green.js +0 -37
  783. package/dist/cjs/theme/palette/colors/grey.js +0 -37
  784. package/dist/cjs/theme/palette/colors/index.js +0 -37
  785. package/dist/cjs/theme/palette/colors/orange.js +0 -37
  786. package/dist/cjs/theme/palette/colors/purple.js +0 -37
  787. package/dist/cjs/theme/palette/colors/red.js +0 -37
  788. package/dist/cjs/theme/palette/colors/types.js +0 -16
  789. package/dist/cjs/theme/palette/error.js +0 -34
  790. package/dist/cjs/theme/palette/grey.js +0 -50
  791. package/dist/cjs/theme/palette/index.js +0 -30
  792. package/dist/cjs/theme/palette/palette-options.js +0 -61
  793. package/dist/cjs/theme/palette/primary.js +0 -34
  794. package/dist/cjs/theme/palette/secondary.js +0 -34
  795. package/dist/cjs/theme/palette/success.js +0 -34
  796. package/dist/cjs/theme/palette/text.js +0 -44
  797. package/dist/cjs/theme/palette/warning.js +0 -34
  798. package/dist/cjs/theme/theme.js +0 -90
  799. package/dist/cjs/theme/types/ThemeExtension.d.js +0 -17
  800. package/dist/cjs/theme/typography.js +0 -99
  801. package/dist/cjs/utils/axis.js +0 -122
  802. package/dist/cjs/utils/browser-storage.js +0 -62
  803. package/dist/cjs/utils/chart-actions.js +0 -180
  804. package/dist/cjs/utils/combine-sx.js +0 -31
  805. package/dist/cjs/utils/component-ids.js +0 -33
  806. package/dist/cjs/utils/data-field-interpolation.js +0 -230
  807. package/dist/cjs/utils/format.js +0 -127
  808. package/dist/cjs/utils/index.js +0 -48
  809. package/dist/cjs/utils/mathjs.js +0 -38
  810. package/dist/cjs/utils/memo.js +0 -64
  811. package/dist/cjs/utils/regexp.js +0 -54
  812. package/dist/cjs/utils/request-interpolation.js +0 -99
  813. package/dist/cjs/utils/selection-interpolation.js +0 -69
  814. package/dist/cjs/utils/text.js +0 -52
  815. package/dist/cjs/utils/theme-gen.js +0 -274
  816. package/dist/cjs/utils/time-series-data.js +0 -141
  817. package/dist/cjs/utils/trace-data.js +0 -25
  818. package/dist/cjs/utils/transform-data.js +0 -157
  819. package/dist/cjs/utils/types.js +0 -16
  820. package/dist/cjs/utils/value-mapping.js +0 -105
  821. package/dist/cjs/utils/variable-interpolation.js +0 -198
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RefreshIntervalPicker/RefreshIntervalPicker.tsx"],"sourcesContent":["// Copyright 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, FormControl, MenuItem, Select } from '@mui/material';\nimport { DurationString } from '@perses-dev/spec';\nimport { ReactElement, useMemo } from 'react';\nimport { TimeOption } from '../model';\n\ninterface RefreshIntervalPickerProps {\n timeOptions: TimeOption[];\n value?: DurationString;\n onChange: (value: DurationString) => void;\n height?: string;\n}\n\nexport function RefreshIntervalPicker(props: RefreshIntervalPickerProps): ReactElement {\n const { value, onChange, timeOptions, height } = props;\n\n // If the dashboard refresh interval is not provided in timeOptions, it will create a specific option for the select\n const customInterval = useMemo(() => {\n if (value && !timeOptions.some((option) => option.value.pastDuration === value)) {\n return <MenuItem value={value}>{value}</MenuItem>;\n }\n }, [timeOptions, value]);\n\n return (\n <FormControl>\n <Box>\n <Select\n id=\"refreshInterval\"\n value={value}\n onChange={(event) => {\n const duration = event.target.value as DurationString;\n onChange(duration);\n }}\n inputProps={{\n 'aria-label': `Select refresh interval. Currently set to ${value}`,\n }}\n sx={{\n '.MuiSelect-select': height ? { lineHeight: height, paddingY: 0 } : {},\n }}\n >\n {timeOptions.map((item, idx) => (\n <MenuItem key={idx} value={item.value.pastDuration}>\n {item.display}\n </MenuItem>\n ))}\n {customInterval}\n </Select>\n </Box>\n </FormControl>\n );\n}\n"],"names":["Box","FormControl","MenuItem","Select","useMemo","RefreshIntervalPicker","props","value","onChange","timeOptions","height","customInterval","some","option","pastDuration","id","event","duration","target","inputProps","sx","lineHeight","paddingY","map","item","idx","display"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAEnE,SAAuBC,OAAO,QAAQ,QAAQ;AAU9C,OAAO,SAASC,sBAAsBC,KAAiC;IACrE,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,MAAM,EAAE,GAAGJ;IAEjD,oHAAoH;IACpH,MAAMK,iBAAiBP,QAAQ;QAC7B,IAAIG,SAAS,CAACE,YAAYG,IAAI,CAAC,CAACC,SAAWA,OAAON,KAAK,CAACO,YAAY,KAAKP,QAAQ;YAC/E,qBAAO,KAACL;gBAASK,OAAOA;0BAAQA;;QAClC;IACF,GAAG;QAACE;QAAaF;KAAM;IAEvB,qBACE,KAACN;kBACC,cAAA,KAACD;sBACC,cAAA,MAACG;gBACCY,IAAG;gBACHR,OAAOA;gBACPC,UAAU,CAACQ;oBACT,MAAMC,WAAWD,MAAME,MAAM,CAACX,KAAK;oBACnCC,SAASS;gBACX;gBACAE,YAAY;oBACV,cAAc,CAAC,0CAA0C,EAAEZ,OAAO;gBACpE;gBACAa,IAAI;oBACF,qBAAqBV,SAAS;wBAAEW,YAAYX;wBAAQY,UAAU;oBAAE,IAAI,CAAC;gBACvE;;oBAECb,YAAYc,GAAG,CAAC,CAACC,MAAMC,oBACtB,KAACvB;4BAAmBK,OAAOiB,KAAKjB,KAAK,CAACO,YAAY;sCAC/CU,KAAKE,OAAO;2BADAD;oBAIhBd;;;;;AAKX"}
1
+ {"version":3,"sources":["../../src/RefreshIntervalPicker/RefreshIntervalPicker.tsx"],"sourcesContent":["// Copyright 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, FormControl, MenuItem, Select } from '@mui/material';\nimport type { DurationString } from '@perses-dev/spec';\nimport type { ReactElement } from 'react';\nimport { useMemo } from 'react';\n\nimport type { TimeOption } from '../model';\n\ninterface RefreshIntervalPickerProps {\n timeOptions: TimeOption[];\n value?: DurationString;\n onChange: (value: DurationString) => void;\n height?: string;\n}\n\nexport function RefreshIntervalPicker(props: RefreshIntervalPickerProps): ReactElement {\n const { value, onChange, timeOptions, height } = props;\n\n // If the dashboard refresh interval is not provided in timeOptions, it will create a specific option for the select\n const customInterval = useMemo(() => {\n if (value && !timeOptions.some((option) => option.value.pastDuration === value)) {\n return <MenuItem value={value}>{value}</MenuItem>;\n }\n }, [timeOptions, value]);\n\n return (\n <FormControl>\n <Box>\n <Select\n id=\"refreshInterval\"\n value={value}\n onChange={(event) => {\n const duration = event.target.value as DurationString;\n onChange(duration);\n }}\n inputProps={{\n 'aria-label': `Select refresh interval. Currently set to ${value}`,\n }}\n sx={{\n '.MuiSelect-select': height ? { lineHeight: height, paddingY: 0 } : {},\n }}\n >\n {timeOptions.map((item, idx) => (\n <MenuItem key={idx} value={item.value.pastDuration}>\n {item.display}\n </MenuItem>\n ))}\n {customInterval}\n </Select>\n </Box>\n </FormControl>\n );\n}\n"],"names":["Box","FormControl","MenuItem","Select","useMemo","RefreshIntervalPicker","props","value","onChange","timeOptions","height","customInterval","some","option","pastDuration","id","event","duration","target","inputProps","sx","lineHeight","paddingY","map","item","idx","display"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAGnE,SAASC,OAAO,QAAQ,QAAQ;AAWhC,OAAO,SAASC,sBAAsBC,KAAiC;IACrE,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,MAAM,EAAE,GAAGJ;IAEjD,oHAAoH;IACpH,MAAMK,iBAAiBP,QAAQ;QAC7B,IAAIG,SAAS,CAACE,YAAYG,IAAI,CAAC,CAACC,SAAWA,OAAON,KAAK,CAACO,YAAY,KAAKP,QAAQ;YAC/E,qBAAO,KAACL;gBAASK,OAAOA;0BAAQA;;QAClC;IACF,GAAG;QAACE;QAAaF;KAAM;IAEvB,qBACE,KAACN;kBACC,cAAA,KAACD;sBACC,cAAA,MAACG;gBACCY,IAAG;gBACHR,OAAOA;gBACPC,UAAU,CAACQ;oBACT,MAAMC,WAAWD,MAAME,MAAM,CAACX,KAAK;oBACnCC,SAASS;gBACX;gBACAE,YAAY;oBACV,cAAc,CAAC,0CAA0C,EAAEZ,OAAO;gBACpE;gBACAa,IAAI;oBACF,qBAAqBV,SAAS;wBAAEW,YAAYX;wBAAQY,UAAU;oBAAE,IAAI,CAAC;gBACvE;;oBAECb,YAAYc,GAAG,CAAC,CAACC,MAAMC,oBACtB,KAACvB;4BAAmBK,OAAOiB,KAAKjB,KAAK,CAACO,YAAY;sCAC/CU,KAAKE,OAAO;2BADAD;oBAIhBd;;;;;AAKX"}
@@ -10,6 +10,6 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './RefreshIntervalPicker';
13
+ export * from "./RefreshIntervalPicker.js";
14
14
 
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RefreshIntervalPicker/index.ts"],"sourcesContent":["// Copyright 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 './RefreshIntervalPicker';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,0BAA0B"}
1
+ {"version":3,"sources":["../../src/RefreshIntervalPicker/index.ts"],"sourcesContent":["// Copyright 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 './RefreshIntervalPicker';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,6BAA0B"}
@@ -0,0 +1,15 @@
1
+ import type { SxProps, Theme } from '@mui/material';
2
+ import type { ReactNode } from 'react';
3
+ export interface RepeatGridProps<T> {
4
+ repeatItems: T[];
5
+ maxPer: number;
6
+ gap: number;
7
+ renderItem: (item: T, options: {
8
+ rowIndex: number;
9
+ colIndex: number;
10
+ }) => ReactNode;
11
+ containerSx?: SxProps<Theme>;
12
+ rowSx?: SxProps<Theme>;
13
+ }
14
+ export declare function RepeatGrid<T>({ repeatItems, maxPer, gap, renderItem, containerSx, rowSx, }: RepeatGridProps<T>): ReactNode;
15
+ //# sourceMappingURL=RepeatGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepeatGrid.d.ts","sourceRoot":"","sources":["../../src/RepeatGrid/RepeatGrid.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,WAAW,EAAE,CAAC,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IACpF,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAC5B,WAAW,EACX,MAAM,EACN,GAAG,EACH,UAAU,EACV,WAAW,EACX,KAAK,GACN,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAmChC"}
@@ -0,0 +1,68 @@
1
+ // Copyright 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 } from "react/jsx-runtime";
14
+ import { Box } from "@mui/material";
15
+ import { useMemo } from "react";
16
+ export function RepeatGrid({ repeatItems, maxPer, gap, renderItem, containerSx, rowSx }) {
17
+ const { rows, perRow } = useMemo(()=>{
18
+ const perRow = Math.max(1, maxPer);
19
+ const rows = [];
20
+ for(let i = 0; i < repeatItems.length; i += perRow){
21
+ rows.push(repeatItems.slice(i, i + perRow));
22
+ }
23
+ return {
24
+ rows,
25
+ perRow
26
+ };
27
+ }, [
28
+ maxPer,
29
+ repeatItems
30
+ ]);
31
+ return /*#__PURE__*/ _jsx(Box, {
32
+ sx: [
33
+ {
34
+ display: 'flex',
35
+ flexDirection: 'column',
36
+ width: '100%',
37
+ height: '100%',
38
+ gap: `${gap}px`
39
+ },
40
+ ...Array.isArray(containerSx) ? containerSx : [
41
+ containerSx
42
+ ]
43
+ ],
44
+ children: rows.map((rowItems, rowIndex)=>/*#__PURE__*/ _jsx(Box, {
45
+ sx: [
46
+ {
47
+ display: 'flex',
48
+ gap: `${gap}px`
49
+ },
50
+ ...Array.isArray(rowSx) ? rowSx : [
51
+ rowSx
52
+ ]
53
+ ],
54
+ children: rowItems.map((item, colIndex)=>/*#__PURE__*/ _jsx(Box, {
55
+ sx: {
56
+ width: `calc((100% - ${gap * (perRow - 1)}px) / ${perRow})`,
57
+ overflow: 'hidden'
58
+ },
59
+ children: renderItem(item, {
60
+ rowIndex,
61
+ colIndex
62
+ })
63
+ }, `${rowIndex}-${colIndex}`))
64
+ }, rowIndex))
65
+ });
66
+ }
67
+
68
+ //# sourceMappingURL=RepeatGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RepeatGrid/RepeatGrid.tsx"],"sourcesContent":["// Copyright 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 type { SxProps, Theme } from '@mui/material';\nimport { Box } from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\n\nexport interface RepeatGridProps<T> {\n repeatItems: T[];\n maxPer: number;\n gap: number;\n renderItem: (item: T, options: { rowIndex: number; colIndex: number }) => ReactNode;\n containerSx?: SxProps<Theme>;\n rowSx?: SxProps<Theme>;\n}\n\nexport function RepeatGrid<T>({\n repeatItems,\n maxPer,\n gap,\n renderItem,\n containerSx,\n rowSx,\n}: RepeatGridProps<T>): ReactNode {\n const { rows, perRow } = useMemo(() => {\n const perRow = Math.max(1, maxPer);\n const rows: T[][] = [];\n for (let i = 0; i < repeatItems.length; i += perRow) {\n rows.push(repeatItems.slice(i, i + perRow));\n }\n\n return { rows, perRow };\n }, [maxPer, repeatItems]);\n\n return (\n <Box\n sx={[\n { display: 'flex', flexDirection: 'column', width: '100%', height: '100%', gap: `${gap}px` },\n ...(Array.isArray(containerSx) ? containerSx : [containerSx]),\n ]}\n >\n {rows.map((rowItems, rowIndex) => (\n <Box key={rowIndex} sx={[{ display: 'flex', gap: `${gap}px` }, ...(Array.isArray(rowSx) ? rowSx : [rowSx])]}>\n {rowItems.map((item, colIndex) => (\n <Box\n key={`${rowIndex}-${colIndex}`}\n sx={{\n width: `calc((100% - ${gap * (perRow - 1)}px) / ${perRow})`,\n overflow: 'hidden',\n }}\n >\n {renderItem(item, { rowIndex, colIndex })}\n </Box>\n ))}\n </Box>\n ))}\n </Box>\n );\n}\n"],"names":["Box","useMemo","RepeatGrid","repeatItems","maxPer","gap","renderItem","containerSx","rowSx","rows","perRow","Math","max","i","length","push","slice","sx","display","flexDirection","width","height","Array","isArray","map","rowItems","rowIndex","item","colIndex","overflow"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,SAASC,OAAO,QAAQ,QAAQ;AAWhC,OAAO,SAASC,WAAc,EAC5BC,WAAW,EACXC,MAAM,EACNC,GAAG,EACHC,UAAU,EACVC,WAAW,EACXC,KAAK,EACc;IACnB,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGT,QAAQ;QAC/B,MAAMS,SAASC,KAAKC,GAAG,CAAC,GAAGR;QAC3B,MAAMK,OAAc,EAAE;QACtB,IAAK,IAAII,IAAI,GAAGA,IAAIV,YAAYW,MAAM,EAAED,KAAKH,OAAQ;YACnDD,KAAKM,IAAI,CAACZ,YAAYa,KAAK,CAACH,GAAGA,IAAIH;QACrC;QAEA,OAAO;YAAED;YAAMC;QAAO;IACxB,GAAG;QAACN;QAAQD;KAAY;IAExB,qBACE,KAACH;QACCiB,IAAI;YACF;gBAAEC,SAAS;gBAAQC,eAAe;gBAAUC,OAAO;gBAAQC,QAAQ;gBAAQhB,KAAK,GAAGA,IAAI,EAAE,CAAC;YAAC;eACvFiB,MAAMC,OAAO,CAAChB,eAAeA,cAAc;gBAACA;aAAY;SAC7D;kBAEAE,KAAKe,GAAG,CAAC,CAACC,UAAUC,yBACnB,KAAC1B;gBAAmBiB,IAAI;oBAAC;wBAAEC,SAAS;wBAAQb,KAAK,GAAGA,IAAI,EAAE,CAAC;oBAAC;uBAAOiB,MAAMC,OAAO,CAACf,SAASA,QAAQ;wBAACA;qBAAM;iBAAE;0BACxGiB,SAASD,GAAG,CAAC,CAACG,MAAMC,yBACnB,KAAC5B;wBAECiB,IAAI;4BACFG,OAAO,CAAC,aAAa,EAAEf,MAAOK,CAAAA,SAAS,CAAA,EAAG,MAAM,EAAEA,OAAO,CAAC,CAAC;4BAC3DmB,UAAU;wBACZ;kCAECvB,WAAWqB,MAAM;4BAAED;4BAAUE;wBAAS;uBANlC,GAAGF,SAAS,CAAC,EAAEE,UAAU;eAH1BF;;AAgBlB"}
@@ -0,0 +1,2 @@
1
+ export * from './RepeatGrid';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RepeatGrid/index.ts"],"names":[],"mappings":"AAaA,cAAc,cAAc,CAAC"}
@@ -10,7 +10,6 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
13
+ export * from "./RepeatGrid.js";
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RepeatGrid/index.ts"],"sourcesContent":["// Copyright 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 './RepeatGrid';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,kBAAe"}
@@ -1,5 +1,5 @@
1
- import { AutocompleteProps } from '@mui/material';
2
- import { ReactElement, ReactNode } from 'react';
1
+ import type { AutocompleteProps } from '@mui/material';
2
+ import type { ReactElement, ReactNode } from 'react';
3
3
  /**
4
4
  * Interface to extend from for `options` when using `SettingsAutocomplete`.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsAutocomplete.d.ts","sourceRoot":"","sources":["../../src/SettingsAutocomplete/SettingsAutocomplete.tsx"],"names":[],"mappings":"AAaA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB,CACxC,UAAU,SAAS,0BAA0B,EAC7C,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,gBAAgB,SAAS,OAAO,GAAG,SAAS,CAI5C,SAAQ,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAG7F,WAAW,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;CAC/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,SAAS,0BAA0B,EAC7C,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EACpD,EACA,OAAO,EACP,WAAiE,EACjE,EAAE,EACF,iBAAiB,EAAE,cAAc,EACjC,GAAG,UAAU,EACd,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,YAAY,CAqDlF"}
1
+ {"version":3,"file":"SettingsAutocomplete.d.ts","sourceRoot":"","sources":["../../src/SettingsAutocomplete/SettingsAutocomplete.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,eAAe,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB,CACxC,UAAU,SAAS,0BAA0B,EAC7C,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,gBAAgB,SAAS,OAAO,GAAG,SAAS,CAI5C,SAAQ,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAG7F,WAAW,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;CAC/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,SAAS,0BAA0B,EAC7C,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAC5C,gBAAgB,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EACpD,EACA,OAAO,EACP,WAAiE,EACjE,EAAE,EACF,iBAAiB,EAAE,cAAc,EACjC,GAAG,UAAU,EACd,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,YAAY,CAqDlF"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  // Copyright The Perses Authors
3
2
  // Licensed under the Apache License, Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
@@ -11,7 +10,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- import { Autocomplete, TextField, Typography, createFilterOptions } from '@mui/material';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { Autocomplete, TextField, Typography, createFilterOptions } from "@mui/material";
15
15
  /**
16
16
  * Opinionated autocomplete component useful for providing users with a dropdown
17
17
  * for settings that require selecting one or more options from a list.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SettingsAutocomplete/SettingsAutocomplete.tsx"],"sourcesContent":["// Copyright 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 {\n Autocomplete,\n AutocompleteProps,\n TextField,\n Typography,\n UseAutocompleteProps,\n createFilterOptions,\n} from '@mui/material';\nimport { ReactElement, ReactNode } from 'react';\n\n/**\n * Interface to extend from for `options` when using `SettingsAutocomplete`.\n */\nexport interface SettingsAutocompleteOption {\n /**\n * Unique identifier for the option.\n */\n id: string;\n\n /**\n * Optional value that is presented to the user for each option. If not set,\n * the `id` will be used instead.\n */\n label?: string;\n\n /**\n * Optional description that will be rendered below the `label` to provide the\n * user with additional information about the option.\n */\n description?: ReactNode;\n\n /**\n * When `true`, the option will be disabled.\n */\n disabled?: boolean;\n}\n\nexport interface SettingsAutocompleteProps<\n OptionType extends SettingsAutocompleteOption,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n // Note that the last `false` in the generic arguments sets the `freeSolo` option to `false`.\n // This component is intended to be used with a discrete list of options, so `freeSolo` never\n // needs to be `true`.\n> extends Omit<AutocompleteProps<OptionType, Multiple, DisableClearable, false>, 'renderInput'> {\n // Modifying this to optional, so we can define a sensible default below that\n // is used in many of the simple cases.\n renderInput?: AutocompleteProps<OptionType, Multiple, DisableClearable, false>['renderInput'];\n}\n\n/**\n * Opinionated autocomplete component useful for providing users with a dropdown\n * for settings that require selecting one or more options from a list.\n *\n * **Note: This component is currently experimental and is likely to have significant breaking changes in the near future. Use with caution outside of the core Perses codebase.**\n */\nexport function SettingsAutocomplete<\n OptionType extends SettingsAutocompleteOption,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n>({\n options,\n renderInput = (params): ReactElement => <TextField {...params} />,\n id,\n 'aria-labelledby': ariaLabelledby,\n ...otherProps\n}: SettingsAutocompleteProps<OptionType, Multiple, DisableClearable>): ReactElement {\n const getOptionLabel: UseAutocompleteProps<OptionType, undefined, boolean, undefined>['getOptionLabel'] = (\n option\n ) => {\n return option.label ?? option.id;\n };\n\n // Merge id and aria-labelledby props into the input element for proper accessibility\n // and form association, while still allowing custom renderInput implementations.\n const handleRenderInput: AutocompleteProps<OptionType, Multiple, DisableClearable, false>['renderInput'] = (\n params\n ) => {\n const mergedParams = {\n ...params,\n inputProps: { ...params.inputProps, id, 'aria-labelledby': ariaLabelledby },\n };\n return renderInput(mergedParams);\n };\n\n // Note: this component currently is not virtualized because it is specific\n // to being used for settings, which generally have a pretty small list of\n // options. If this changes to include values with many options, virtualization\n // should be added using react-virtuoso.\n return (\n <Autocomplete\n isOptionEqualToValue={(option, value) => option.id === value.id}\n getOptionDisabled={(option) => !!option.disabled}\n getOptionLabel={getOptionLabel}\n options={options}\n renderInput={handleRenderInput}\n renderOption={({ key, ...props }, option) => {\n return (\n <li key={key} {...props}>\n <div>\n <Typography variant=\"body1\" component=\"div\">\n {getOptionLabel(option)}\n </Typography>\n {option.description && (\n <Typography variant=\"body2\" component=\"div\" sx={{ color: (theme) => theme.palette.text.secondary }}>\n {option.description}\n </Typography>\n )}\n </div>\n </li>\n );\n }}\n filterOptions={createFilterOptions({\n // Include the label and the description in search.\n stringify: (option) => `${getOptionLabel(option)} ${option.description || ''}`,\n })}\n {...otherProps}\n />\n );\n}\n"],"names":["Autocomplete","TextField","Typography","createFilterOptions","SettingsAutocomplete","options","renderInput","params","id","ariaLabelledby","otherProps","getOptionLabel","option","label","handleRenderInput","mergedParams","inputProps","isOptionEqualToValue","value","getOptionDisabled","disabled","renderOption","key","props","li","div","variant","component","description","sx","color","theme","palette","text","secondary","filterOptions","stringify"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SACEA,YAAY,EAEZC,SAAS,EACTC,UAAU,EAEVC,mBAAmB,QACd,gBAAgB;AA2CvB;;;;;CAKC,GACD,OAAO,SAASC,qBAId,EACAC,OAAO,EACPC,cAAc,CAACC,uBAAyB,KAACN;QAAW,GAAGM,MAAM;MAAI,EACjEC,EAAE,EACF,mBAAmBC,cAAc,EACjC,GAAGC,YAC+D;IAClE,MAAMC,iBAAoG,CACxGC;QAEA,OAAOA,OAAOC,KAAK,IAAID,OAAOJ,EAAE;IAClC;IAEA,qFAAqF;IACrF,iFAAiF;IACjF,MAAMM,oBAAqG,CACzGP;QAEA,MAAMQ,eAAe;YACnB,GAAGR,MAAM;YACTS,YAAY;gBAAE,GAAGT,OAAOS,UAAU;gBAAER;gBAAI,mBAAmBC;YAAe;QAC5E;QACA,OAAOH,YAAYS;IACrB;IAEA,2EAA2E;IAC3E,0EAA0E;IAC1E,+EAA+E;IAC/E,wCAAwC;IACxC,qBACE,KAACf;QACCiB,sBAAsB,CAACL,QAAQM,QAAUN,OAAOJ,EAAE,KAAKU,MAAMV,EAAE;QAC/DW,mBAAmB,CAACP,SAAW,CAAC,CAACA,OAAOQ,QAAQ;QAChDT,gBAAgBA;QAChBN,SAASA;QACTC,aAAaQ;QACbO,cAAc,CAAC,EAAEC,GAAG,EAAE,GAAGC,OAAO,EAAEX;YAChC,qBACE,KAACY;gBAAc,GAAGD,KAAK;0BACrB,cAAA,MAACE;;sCACC,KAACvB;4BAAWwB,SAAQ;4BAAQC,WAAU;sCACnChB,eAAeC;;wBAEjBA,OAAOgB,WAAW,kBACjB,KAAC1B;4BAAWwB,SAAQ;4BAAQC,WAAU;4BAAME,IAAI;gCAAEC,OAAO,CAACC,QAAUA,MAAMC,OAAO,CAACC,IAAI,CAACC,SAAS;4BAAC;sCAC9FtB,OAAOgB,WAAW;;;;eAPlBN;QAab;QACAa,eAAehC,oBAAoB;YACjC,mDAAmD;YACnDiC,WAAW,CAACxB,SAAW,GAAGD,eAAeC,QAAQ,CAAC,EAAEA,OAAOgB,WAAW,IAAI,IAAI;QAChF;QACC,GAAGlB,UAAU;;AAGpB"}
1
+ {"version":3,"sources":["../../src/SettingsAutocomplete/SettingsAutocomplete.tsx"],"sourcesContent":["// Copyright 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 type { AutocompleteProps, UseAutocompleteProps } from '@mui/material';\nimport { Autocomplete, TextField, Typography, createFilterOptions } from '@mui/material';\nimport type { ReactElement, ReactNode } from 'react';\n\n/**\n * Interface to extend from for `options` when using `SettingsAutocomplete`.\n */\nexport interface SettingsAutocompleteOption {\n /**\n * Unique identifier for the option.\n */\n id: string;\n\n /**\n * Optional value that is presented to the user for each option. If not set,\n * the `id` will be used instead.\n */\n label?: string;\n\n /**\n * Optional description that will be rendered below the `label` to provide the\n * user with additional information about the option.\n */\n description?: ReactNode;\n\n /**\n * When `true`, the option will be disabled.\n */\n disabled?: boolean;\n}\n\nexport interface SettingsAutocompleteProps<\n OptionType extends SettingsAutocompleteOption,\n Multiple extends boolean | undefined,\n DisableClearable extends boolean | undefined,\n // Note that the last `false` in the generic arguments sets the `freeSolo` option to `false`.\n // This component is intended to be used with a discrete list of options, so `freeSolo` never\n // needs to be `true`.\n> extends Omit<AutocompleteProps<OptionType, Multiple, DisableClearable, false>, 'renderInput'> {\n // Modifying this to optional, so we can define a sensible default below that\n // is used in many of the simple cases.\n renderInput?: AutocompleteProps<OptionType, Multiple, DisableClearable, false>['renderInput'];\n}\n\n/**\n * Opinionated autocomplete component useful for providing users with a dropdown\n * for settings that require selecting one or more options from a list.\n *\n * **Note: This component is currently experimental and is likely to have significant breaking changes in the near future. Use with caution outside of the core Perses codebase.**\n */\nexport function SettingsAutocomplete<\n OptionType extends SettingsAutocompleteOption,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n>({\n options,\n renderInput = (params): ReactElement => <TextField {...params} />,\n id,\n 'aria-labelledby': ariaLabelledby,\n ...otherProps\n}: SettingsAutocompleteProps<OptionType, Multiple, DisableClearable>): ReactElement {\n const getOptionLabel: UseAutocompleteProps<OptionType, undefined, boolean, undefined>['getOptionLabel'] = (\n option,\n ) => {\n return option.label ?? option.id;\n };\n\n // Merge id and aria-labelledby props into the input element for proper accessibility\n // and form association, while still allowing custom renderInput implementations.\n const handleRenderInput: AutocompleteProps<OptionType, Multiple, DisableClearable, false>['renderInput'] = (\n params,\n ) => {\n const mergedParams = {\n ...params,\n inputProps: { ...params.inputProps, id, 'aria-labelledby': ariaLabelledby },\n };\n return renderInput(mergedParams);\n };\n\n // Note: this component currently is not virtualized because it is specific\n // to being used for settings, which generally have a pretty small list of\n // options. If this changes to include values with many options, virtualization\n // should be added using react-virtuoso.\n return (\n <Autocomplete\n isOptionEqualToValue={(option, value) => option.id === value.id}\n getOptionDisabled={(option) => !!option.disabled}\n getOptionLabel={getOptionLabel}\n options={options}\n renderInput={handleRenderInput}\n renderOption={({ key, ...props }, option) => {\n return (\n <li key={key} {...props}>\n <div>\n <Typography variant=\"body1\" component=\"div\">\n {getOptionLabel(option)}\n </Typography>\n {option.description && (\n <Typography variant=\"body2\" component=\"div\" sx={{ color: (theme) => theme.palette.text.secondary }}>\n {option.description}\n </Typography>\n )}\n </div>\n </li>\n );\n }}\n filterOptions={createFilterOptions({\n // Include the label and the description in search.\n stringify: (option) => `${getOptionLabel(option)} ${option.description || ''}`,\n })}\n {...otherProps}\n />\n );\n}\n"],"names":["Autocomplete","TextField","Typography","createFilterOptions","SettingsAutocomplete","options","renderInput","params","id","ariaLabelledby","otherProps","getOptionLabel","option","label","handleRenderInput","mergedParams","inputProps","isOptionEqualToValue","value","getOptionDisabled","disabled","renderOption","key","props","li","div","variant","component","description","sx","color","theme","palette","text","secondary","filterOptions","stringify"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,YAAY,EAAEC,SAAS,EAAEC,UAAU,EAAEC,mBAAmB,QAAQ,gBAAgB;AA2CzF;;;;;CAKC,GACD,OAAO,SAASC,qBAId,EACAC,OAAO,EACPC,cAAc,CAACC,uBAAyB,KAACN;QAAW,GAAGM,MAAM;MAAI,EACjEC,EAAE,EACF,mBAAmBC,cAAc,EACjC,GAAGC,YAC+D;IAClE,MAAMC,iBAAoG,CACxGC;QAEA,OAAOA,OAAOC,KAAK,IAAID,OAAOJ,EAAE;IAClC;IAEA,qFAAqF;IACrF,iFAAiF;IACjF,MAAMM,oBAAqG,CACzGP;QAEA,MAAMQ,eAAe;YACnB,GAAGR,MAAM;YACTS,YAAY;gBAAE,GAAGT,OAAOS,UAAU;gBAAER;gBAAI,mBAAmBC;YAAe;QAC5E;QACA,OAAOH,YAAYS;IACrB;IAEA,2EAA2E;IAC3E,0EAA0E;IAC1E,+EAA+E;IAC/E,wCAAwC;IACxC,qBACE,KAACf;QACCiB,sBAAsB,CAACL,QAAQM,QAAUN,OAAOJ,EAAE,KAAKU,MAAMV,EAAE;QAC/DW,mBAAmB,CAACP,SAAW,CAAC,CAACA,OAAOQ,QAAQ;QAChDT,gBAAgBA;QAChBN,SAASA;QACTC,aAAaQ;QACbO,cAAc,CAAC,EAAEC,GAAG,EAAE,GAAGC,OAAO,EAAEX;YAChC,qBACE,KAACY;gBAAc,GAAGD,KAAK;0BACrB,cAAA,MAACE;;sCACC,KAACvB;4BAAWwB,SAAQ;4BAAQC,WAAU;sCACnChB,eAAeC;;wBAEjBA,OAAOgB,WAAW,kBACjB,KAAC1B;4BAAWwB,SAAQ;4BAAQC,WAAU;4BAAME,IAAI;gCAAEC,OAAO,CAACC,QAAUA,MAAMC,OAAO,CAACC,IAAI,CAACC,SAAS;4BAAC;sCAC9FtB,OAAOgB,WAAW;;;;eAPlBN;QAab;QACAa,eAAehC,oBAAoB;YACjC,mDAAmD;YACnDiC,WAAW,CAACxB,SAAW,GAAGD,eAAeC,QAAQ,CAAC,EAAEA,OAAOgB,WAAW,IAAI,IAAI;QAChF;QACC,GAAGlB,UAAU;;AAGpB"}
@@ -10,6 +10,6 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './SettingsAutocomplete';
13
+ export * from "./SettingsAutocomplete.js";
14
14
 
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SettingsAutocomplete/index.ts"],"sourcesContent":["// Copyright 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 './SettingsAutocomplete';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,yBAAyB"}
1
+ {"version":3,"sources":["../../src/SettingsAutocomplete/index.ts"],"sourcesContent":["// Copyright 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 './SettingsAutocomplete';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,4BAAyB"}
@@ -1,4 +1,4 @@
1
- import { ReactElement } from 'react';
1
+ import type { ReactElement } from 'react';
2
2
  export type SortOption = 'asc' | 'desc';
3
3
  export interface SortSelectorProps {
4
4
  onChange: (sort: SortOption) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SortSelector.d.ts","sourceRoot":"","sources":["../../src/SortSelector/SortSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AASrC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,EAAE,iBAAiB,GAAG,YAAY,CAmB1F"}
1
+ {"version":3,"file":"SortSelector.d.ts","sourceRoot":"","sources":["../../src/SortSelector/SortSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAU1C,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,EAAE,iBAAiB,GAAG,YAAY,CAmB1F"}
@@ -11,8 +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 } from "react/jsx-runtime";
14
- import { OptionsEditorControl } from '../OptionsEditorLayout';
15
- import { SettingsAutocomplete } from '../SettingsAutocomplete';
14
+ import { OptionsEditorControl } from "../OptionsEditorLayout/index.js";
15
+ import { SettingsAutocomplete } from "../SettingsAutocomplete/index.js";
16
16
  const SORT_OPTIONS = [
17
17
  {
18
18
  id: 'asc',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SortSelector/SortSelector.tsx"],"sourcesContent":["// Copyright 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 } from 'react';\nimport { OptionsEditorControl } from '../OptionsEditorLayout';\nimport { SettingsAutocomplete } from '../SettingsAutocomplete';\n\nconst SORT_OPTIONS: Array<{ id: SortOption; label: string }> = [\n { id: 'asc', label: 'Ascending' },\n { id: 'desc', label: 'Descending' },\n];\n\nexport type SortOption = 'asc' | 'desc';\n\nexport interface SortSelectorProps {\n onChange: (sort: SortOption) => void;\n value?: SortOption;\n}\n\nexport function SortSelector({ onChange, value = 'desc' }: SortSelectorProps): ReactElement {\n const handleSortChange = (_: unknown, { id }: { id: SortOption }): void => {\n onChange(id);\n };\n\n return (\n <OptionsEditorControl\n label=\"Sort\"\n control={\n <SettingsAutocomplete\n value={SORT_OPTIONS.find((o) => o.id === value)}\n options={SORT_OPTIONS}\n getOptionLabel={(o) => o.label}\n onChange={handleSortChange}\n disableClearable\n />\n }\n />\n );\n}\n"],"names":["OptionsEditorControl","SettingsAutocomplete","SORT_OPTIONS","id","label","SortSelector","onChange","value","handleSortChange","_","control","find","o","options","getOptionLabel","disableClearable"],"mappings":"AAAA,+BAA+B;AAC/B,oEAAoE;AACpE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,6EAA6E;AAC7E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,oBAAoB,QAAQ,yBAAyB;AAC9D,SAASC,oBAAoB,QAAQ,0BAA0B;AAE/D,MAAMC,eAAyD;IAC7D;QAAEC,IAAI;QAAOC,OAAO;IAAY;IAChC;QAAED,IAAI;QAAQC,OAAO;IAAa;CACnC;AASD,OAAO,SAASC,aAAa,EAAEC,QAAQ,EAAEC,QAAQ,MAAM,EAAqB;IAC1E,MAAMC,mBAAmB,CAACC,GAAY,EAAEN,EAAE,EAAsB;QAC9DG,SAASH;IACX;IAEA,qBACE,KAACH;QACCI,OAAM;QACNM,uBACE,KAACT;YACCM,OAAOL,aAAaS,IAAI,CAAC,CAACC,IAAMA,EAAET,EAAE,KAAKI;YACzCM,SAASX;YACTY,gBAAgB,CAACF,IAAMA,EAAER,KAAK;YAC9BE,UAAUE;YACVO,gBAAgB;;;AAK1B"}
1
+ {"version":3,"sources":["../../src/SortSelector/SortSelector.tsx"],"sourcesContent":["// Copyright 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 type { ReactElement } from 'react';\n\nimport { OptionsEditorControl } from '../OptionsEditorLayout';\nimport { SettingsAutocomplete } from '../SettingsAutocomplete';\n\nconst SORT_OPTIONS: Array<{ id: SortOption; label: string }> = [\n { id: 'asc', label: 'Ascending' },\n { id: 'desc', label: 'Descending' },\n];\n\nexport type SortOption = 'asc' | 'desc';\n\nexport interface SortSelectorProps {\n onChange: (sort: SortOption) => void;\n value?: SortOption;\n}\n\nexport function SortSelector({ onChange, value = 'desc' }: SortSelectorProps): ReactElement {\n const handleSortChange = (_: unknown, { id }: { id: SortOption }): void => {\n onChange(id);\n };\n\n return (\n <OptionsEditorControl\n label=\"Sort\"\n control={\n <SettingsAutocomplete\n value={SORT_OPTIONS.find((o) => o.id === value)}\n options={SORT_OPTIONS}\n getOptionLabel={(o) => o.label}\n onChange={handleSortChange}\n disableClearable\n />\n }\n />\n );\n}\n"],"names":["OptionsEditorControl","SettingsAutocomplete","SORT_OPTIONS","id","label","SortSelector","onChange","value","handleSortChange","_","control","find","o","options","getOptionLabel","disableClearable"],"mappings":"AAAA,+BAA+B;AAC/B,oEAAoE;AACpE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,6EAA6E;AAC7E,sEAAsE;AACtE,iCAAiC;;AAIjC,SAASA,oBAAoB,QAAQ,kCAAyB;AAC9D,SAASC,oBAAoB,QAAQ,mCAA0B;AAE/D,MAAMC,eAAyD;IAC7D;QAAEC,IAAI;QAAOC,OAAO;IAAY;IAChC;QAAED,IAAI;QAAQC,OAAO;IAAa;CACnC;AASD,OAAO,SAASC,aAAa,EAAEC,QAAQ,EAAEC,QAAQ,MAAM,EAAqB;IAC1E,MAAMC,mBAAmB,CAACC,GAAY,EAAEN,EAAE,EAAsB;QAC9DG,SAASH;IACX;IAEA,qBACE,KAACH;QACCI,OAAM;QACNM,uBACE,KAACT;YACCM,OAAOL,aAAaS,IAAI,CAAC,CAACC,IAAMA,EAAET,EAAE,KAAKI;YACzCM,SAASX;YACTY,gBAAgB,CAACF,IAAMA,EAAER,KAAK;YAC9BE,UAAUE;YACVO,gBAAgB;;;AAK1B"}
@@ -1,6 +1,6 @@
1
- import { ButtonGroupProps } from '@mui/material';
2
- import { ReactElement } from 'react';
3
- import { SortOption } from './SortSelector';
1
+ import type { ButtonGroupProps } from '@mui/material';
2
+ import type { ReactElement } from 'react';
3
+ import type { SortOption } from './SortSelector';
4
4
  export interface SortSelectorButtonsProps extends Omit<ButtonGroupProps, 'onChange'> {
5
5
  value?: SortOption;
6
6
  onChange: (sort?: SortOption) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SortSelectorButtons.d.ts","sourceRoot":"","sources":["../../src/SortSelector/SortSelectorButtons.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAClF,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAkBzG"}
1
+ {"version":3,"file":"SortSelectorButtons.d.ts","sourceRoot":"","sources":["../../src/SortSelector/SortSelectorButtons.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAClF,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAkBzG"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  // Copyright The Perses Authors
3
2
  // Licensed under the Apache License | Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
@@ -11,7 +10,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND | either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- import { Button, ButtonGroup } from '@mui/material';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { Button, ButtonGroup } from "@mui/material";
15
15
  export function SortSelectorButtons({ onChange, value, ...props }) {
16
16
  const handleSortChange = (sort)=>{
17
17
  onChange(sort);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SortSelector/SortSelectorButtons.tsx"],"sourcesContent":["// Copyright 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, ButtonGroup, ButtonGroupProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { SortOption } from './SortSelector';\n\nexport interface SortSelectorButtonsProps extends Omit<ButtonGroupProps, 'onChange'> {\n value?: SortOption;\n onChange: (sort?: SortOption) => void;\n}\n\nexport function SortSelectorButtons({ onChange, value, ...props }: SortSelectorButtonsProps): ReactElement {\n const handleSortChange = (sort?: SortOption): void => {\n onChange(sort);\n };\n\n return (\n <ButtonGroup aria-label=\"Sort\" {...props}>\n <Button onClick={() => handleSortChange(undefined)} variant={value === undefined ? 'contained' : 'outlined'}>\n None\n </Button>\n <Button onClick={() => handleSortChange('asc')} variant={value === 'asc' ? 'contained' : 'outlined'}>\n Asc\n </Button>\n <Button onClick={() => handleSortChange('desc')} variant={value === 'desc' ? 'contained' : 'outlined'}>\n Desc\n </Button>\n </ButtonGroup>\n );\n}\n"],"names":["Button","ButtonGroup","SortSelectorButtons","onChange","value","props","handleSortChange","sort","aria-label","onClick","undefined","variant"],"mappings":";AAAA,+BAA+B;AAC/B,oEAAoE;AACpE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,6EAA6E;AAC7E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,MAAM,EAAEC,WAAW,QAA0B,gBAAgB;AAStE,OAAO,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGC,OAAiC;IACzF,MAAMC,mBAAmB,CAACC;QACxBJ,SAASI;IACX;IAEA,qBACE,MAACN;QAAYO,cAAW;QAAQ,GAAGH,KAAK;;0BACtC,KAACL;gBAAOS,SAAS,IAAMH,iBAAiBI;gBAAYC,SAASP,UAAUM,YAAY,cAAc;0BAAY;;0BAG7G,KAACV;gBAAOS,SAAS,IAAMH,iBAAiB;gBAAQK,SAASP,UAAU,QAAQ,cAAc;0BAAY;;0BAGrG,KAACJ;gBAAOS,SAAS,IAAMH,iBAAiB;gBAASK,SAASP,UAAU,SAAS,cAAc;0BAAY;;;;AAK7G"}
1
+ {"version":3,"sources":["../../src/SortSelector/SortSelectorButtons.tsx"],"sourcesContent":["// Copyright 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 type { ButtonGroupProps } from '@mui/material';\nimport { Button, ButtonGroup } from '@mui/material';\nimport type { ReactElement } from 'react';\n\nimport type { SortOption } from './SortSelector';\n\nexport interface SortSelectorButtonsProps extends Omit<ButtonGroupProps, 'onChange'> {\n value?: SortOption;\n onChange: (sort?: SortOption) => void;\n}\n\nexport function SortSelectorButtons({ onChange, value, ...props }: SortSelectorButtonsProps): ReactElement {\n const handleSortChange = (sort?: SortOption): void => {\n onChange(sort);\n };\n\n return (\n <ButtonGroup aria-label=\"Sort\" {...props}>\n <Button onClick={() => handleSortChange(undefined)} variant={value === undefined ? 'contained' : 'outlined'}>\n None\n </Button>\n <Button onClick={() => handleSortChange('asc')} variant={value === 'asc' ? 'contained' : 'outlined'}>\n Asc\n </Button>\n <Button onClick={() => handleSortChange('desc')} variant={value === 'desc' ? 'contained' : 'outlined'}>\n Desc\n </Button>\n </ButtonGroup>\n );\n}\n"],"names":["Button","ButtonGroup","SortSelectorButtons","onChange","value","props","handleSortChange","sort","aria-label","onClick","undefined","variant"],"mappings":"AAAA,+BAA+B;AAC/B,oEAAoE;AACpE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,6EAA6E;AAC7E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,MAAM,EAAEC,WAAW,QAAQ,gBAAgB;AAUpD,OAAO,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGC,OAAiC;IACzF,MAAMC,mBAAmB,CAACC;QACxBJ,SAASI;IACX;IAEA,qBACE,MAACN;QAAYO,cAAW;QAAQ,GAAGH,KAAK;;0BACtC,KAACL;gBAAOS,SAAS,IAAMH,iBAAiBI;gBAAYC,SAASP,UAAUM,YAAY,cAAc;0BAAY;;0BAG7G,KAACV;gBAAOS,SAAS,IAAMH,iBAAiB;gBAAQK,SAASP,UAAU,QAAQ,cAAc;0BAAY;;0BAGrG,KAACJ;gBAAOS,SAAS,IAAMH,iBAAiB;gBAASK,SAASP,UAAU,SAAS,cAAc;0BAAY;;;;AAK7G"}
@@ -10,7 +10,7 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './SortSelector';
14
- export * from './SortSelectorButtons';
13
+ export * from "./SortSelector.js";
14
+ export * from "./SortSelectorButtons.js";
15
15
 
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SortSelector/index.ts"],"sourcesContent":["// Copyright 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 './SortSelector';\nexport * from './SortSelectorButtons';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,iBAAiB;AAC/B,cAAc,wBAAwB"}
1
+ {"version":3,"sources":["../../src/SortSelector/index.ts"],"sourcesContent":["// Copyright 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 './SortSelector';\nexport * from './SortSelectorButtons';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,oBAAiB;AAC/B,cAAc,2BAAwB"}
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
- import { TableProps as MuiTableProps } from '@mui/material';
3
- import { TableDensity } from './model/table-model';
1
+ import type { TableProps as MuiTableProps } from '@mui/material';
2
+ import type { TableDensity } from './model/table-model';
4
3
  type InnerTableProps = Omit<MuiTableProps, 'size'> & {
5
4
  density: TableDensity;
6
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InnerTable.d.ts","sourceRoot":"","sources":["../../src/Table/InnerTable.tsx"],"names":[],"mappings":";AAaA,OAAO,EAA6B,UAAU,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD,KAAK,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;IACnD,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAQF,eAAO,MAAM,UAAU,2HAerB,CAAC"}
1
+ {"version":3,"file":"InnerTable.d.ts","sourceRoot":"","sources":["../../src/Table/InnerTable.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD,KAAK,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;IACnD,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAQF,eAAO,MAAM,UAAU,2HAerB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  // Copyright The Perses Authors
3
2
  // Licensed under the Apache License, Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
@@ -11,8 +10,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- import { Table as MuiTable, styled } from '@mui/material';
15
- import { forwardRef } from 'react';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { Table as MuiTable, styled } from "@mui/material";
15
+ import { forwardRef } from "react";
16
16
  const StyledMuiTable = styled(MuiTable)(({ theme })=>({
17
17
  // This value is needed to have a consistent table layout when scrolling.
18
18
  tableLayout: 'fixed',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/InnerTable.tsx"],"sourcesContent":["// Copyright 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 { Table as MuiTable, styled, TableProps as MuiTableProps } from '@mui/material';\nimport { forwardRef } from 'react';\nimport { TableDensity } from './model/table-model';\n\nconst StyledMuiTable = styled(MuiTable)(({ theme }) => ({\n // This value is needed to have a consistent table layout when scrolling.\n tableLayout: 'fixed',\n borderCollapse: 'separate',\n backgroundColor: theme.palette.background.default,\n}));\n\ntype InnerTableProps = Omit<MuiTableProps, 'size'> & {\n density: TableDensity;\n};\n\nconst TABLE_DENSITY_CONFIG: Record<TableDensity, MuiTableProps['size']> = {\n compact: 'small',\n standard: 'medium',\n comfortable: 'medium',\n};\n\nexport const InnerTable = forwardRef<HTMLTableElement, InnerTableProps>(function InnerTable(\n { density, ...otherProps },\n ref\n) {\n return (\n <StyledMuiTable\n {...otherProps}\n tabIndex={-1}\n size={TABLE_DENSITY_CONFIG[density]}\n ref={ref}\n sx={{\n width: '100%',\n }}\n />\n );\n});\n"],"names":["Table","MuiTable","styled","forwardRef","StyledMuiTable","theme","tableLayout","borderCollapse","backgroundColor","palette","background","default","TABLE_DENSITY_CONFIG","compact","standard","comfortable","InnerTable","density","otherProps","ref","tabIndex","size","sx","width"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,SAASC,QAAQ,EAAEC,MAAM,QAAqC,gBAAgB;AACvF,SAASC,UAAU,QAAQ,QAAQ;AAGnC,MAAMC,iBAAiBF,OAAOD,UAAU,CAAC,EAAEI,KAAK,EAAE,GAAM,CAAA;QACtD,yEAAyE;QACzEC,aAAa;QACbC,gBAAgB;QAChBC,iBAAiBH,MAAMI,OAAO,CAACC,UAAU,CAACC,OAAO;IACnD,CAAA;AAMA,MAAMC,uBAAoE;IACxEC,SAAS;IACTC,UAAU;IACVC,aAAa;AACf;AAEA,OAAO,MAAMC,2BAAab,WAA8C,SAASa,WAC/E,EAAEC,OAAO,EAAE,GAAGC,YAAY,EAC1BC,GAAG;IAEH,qBACE,KAACf;QACE,GAAGc,UAAU;QACdE,UAAU,CAAC;QACXC,MAAMT,oBAAoB,CAACK,QAAQ;QACnCE,KAAKA;QACLG,IAAI;YACFC,OAAO;QACT;;AAGN,GAAG"}
1
+ {"version":3,"sources":["../../src/Table/InnerTable.tsx"],"sourcesContent":["// Copyright 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 type { TableProps as MuiTableProps } from '@mui/material';\nimport { Table as MuiTable, styled } from '@mui/material';\nimport { forwardRef } from 'react';\n\nimport type { TableDensity } from './model/table-model';\n\nconst StyledMuiTable = styled(MuiTable)(({ theme }) => ({\n // This value is needed to have a consistent table layout when scrolling.\n tableLayout: 'fixed',\n borderCollapse: 'separate',\n backgroundColor: theme.palette.background.default,\n}));\n\ntype InnerTableProps = Omit<MuiTableProps, 'size'> & {\n density: TableDensity;\n};\n\nconst TABLE_DENSITY_CONFIG: Record<TableDensity, MuiTableProps['size']> = {\n compact: 'small',\n standard: 'medium',\n comfortable: 'medium',\n};\n\nexport const InnerTable = forwardRef<HTMLTableElement, InnerTableProps>(function InnerTable(\n { density, ...otherProps },\n ref,\n) {\n return (\n <StyledMuiTable\n {...otherProps}\n tabIndex={-1}\n size={TABLE_DENSITY_CONFIG[density]}\n ref={ref}\n sx={{\n width: '100%',\n }}\n />\n );\n});\n"],"names":["Table","MuiTable","styled","forwardRef","StyledMuiTable","theme","tableLayout","borderCollapse","backgroundColor","palette","background","default","TABLE_DENSITY_CONFIG","compact","standard","comfortable","InnerTable","density","otherProps","ref","tabIndex","size","sx","width"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,gBAAgB;AAC1D,SAASC,UAAU,QAAQ,QAAQ;AAInC,MAAMC,iBAAiBF,OAAOD,UAAU,CAAC,EAAEI,KAAK,EAAE,GAAM,CAAA;QACtD,yEAAyE;QACzEC,aAAa;QACbC,gBAAgB;QAChBC,iBAAiBH,MAAMI,OAAO,CAACC,UAAU,CAACC,OAAO;IACnD,CAAA;AAMA,MAAMC,uBAAoE;IACxEC,SAAS;IACTC,UAAU;IACVC,aAAa;AACf;AAEA,OAAO,MAAMC,2BAAab,WAA8C,SAASa,WAC/E,EAAEC,OAAO,EAAE,GAAGC,YAAY,EAC1BC,GAAG;IAEH,qBACE,KAACf;QACE,GAAGc,UAAU;QACdE,UAAU,CAAC;QACXC,MAAMT,oBAAoB,CAACK,QAAQ;QACnCE,KAAKA;QACLG,IAAI;YACFC,OAAO;QACT;;AAGN,GAAG"}
@@ -1,5 +1,5 @@
1
- import { ReactElement } from 'react';
2
- import { TableProps } from './model/table-model';
1
+ import type { ReactElement } from 'react';
2
+ import type { TableProps } from './model/table-model';
3
3
  /**
4
4
  * Component used to render tabular data in Perses use cases. This component is
5
5
  * **not** intended to be a general use data table for use cases unrelated to Perses.
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAE,YAAY,EAAkC,MAAM,OAAO,CAAC;AAIrE,OAAO,EAAwD,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYvG;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,EAC/B,IAAI,EACJ,OAAO,EACP,WAAW,EACX,OAAoB,EACpB,kBAAyC,EACzC,mBAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,QAA6B,EAC7B,YAAoC,EACpC,OAAyB,EACzB,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,mBAAgC,EAChC,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,gBAA6B,EAC7B,mBAAmB,EACnB,GAAG,UAAU,EACd,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,YAAY,CAoMtC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAetD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,EAC/B,IAAI,EACJ,OAAO,EACP,WAAW,EACX,OAAoB,EACpB,kBAAyC,EACzC,mBAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,QAA6B,EAC7B,YAAoC,EACpC,OAAyB,EACzB,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,mBAAgC,EAChC,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,gBAA6B,EAC7B,mBAAmB,EACnB,GAAG,UAAU,EACd,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,YAAY,CAoMtC"}
@@ -11,13 +11,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- import { Stack, useTheme } from '@mui/material';
15
- import { getCoreRowModel, getExpandedRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';
16
- import { useCallback, useMemo, useState } from 'react';
17
- import { useFuzzySearch } from './hooks/useFuzzySearch';
18
- import { TableCheckbox } from './TableCheckbox';
19
- import { VirtualizedTable } from './VirtualizedTable';
20
- import { DEFAULT_COLUMN_WIDTH, persesColumnsToTanstackColumns } from './model/table-model';
14
+ import { Stack, useTheme } from "@mui/material";
15
+ import { getCoreRowModel, getExpandedRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
16
+ import { useCallback, useMemo, useState } from "react";
17
+ import { useFuzzySearch } from "./hooks/useFuzzySearch.js";
18
+ import { DEFAULT_COLUMN_WIDTH, persesColumnsToTanstackColumns } from "./model/table-model.js";
19
+ import { TableCheckbox } from "./TableCheckbox.js";
20
+ import { VirtualizedTable } from "./VirtualizedTable.js";
21
21
  const DEFAULT_GET_ROW_ID = (data, index)=>{
22
22
  return `${index}`;
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/Table.tsx"],"sourcesContent":["// Copyright 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 { Stack, useTheme } from '@mui/material';\nimport {\n ColumnDef,\n ExpandedState,\n getCoreRowModel,\n getExpandedRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n Table as TanstackTable,\n useReactTable,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { ReactElement, useCallback, useMemo, useState } from 'react';\nimport { useFuzzySearch } from './hooks/useFuzzySearch';\nimport { TableCheckbox } from './TableCheckbox';\nimport { VirtualizedTable } from './VirtualizedTable';\nimport { DEFAULT_COLUMN_WIDTH, persesColumnsToTanstackColumns, TableProps } from './model/table-model';\n\nconst DEFAULT_GET_ROW_ID = (data: unknown, index: number): string => {\n return `${index}`;\n};\n\n// Setting these defaults one enables them to be consistent across renders instead\n// of being recreated every time, which can be important for perf because react\n// does not do deep equality checking for objects and arrays.\nconst DEFAULT_ROW_SELECTION: NonNullable<TableProps<unknown>['rowSelection']> = {};\nconst DEFAULT_SORTING: NonNullable<TableProps<unknown>['sorting']> = [];\n\n/**\n * Component used to render tabular data in Perses use cases. This component is\n * **not** intended to be a general use data table for use cases unrelated to Perses.\n *\n * **Note: This component is currently experimental and is likely to have significant breaking changes in the near future. Use with caution outside of the core Perses codebase.**\n */\nexport function Table<TableData>({\n data,\n columns,\n cellConfigs,\n density = 'standard',\n defaultColumnWidth = DEFAULT_COLUMN_WIDTH,\n defaultColumnHeight = 'auto',\n checkboxSelection,\n onRowSelectionChange,\n onSortingChange,\n getCheckboxColor,\n getRowId = DEFAULT_GET_ROW_ID,\n rowSelection = DEFAULT_ROW_SELECTION,\n sorting = DEFAULT_SORTING,\n getItemActions,\n hasItemActions,\n pagination,\n onPaginationChange,\n rowSelectionVariant = 'standard',\n getSubRows,\n hiddenColumns,\n tableToolbarConfig,\n columnResizeMode = 'onChange',\n defaultColumnConfig,\n ...otherProps\n}: TableProps<TableData>): ReactElement {\n const theme = useTheme();\n\n const hasSubRows = !!getSubRows;\n\n const [expanded, setExpanded] = useState<ExpandedState>({});\n\n const { globalFilter, setGlobalFilter, fuzzySearchOptions } = useFuzzySearch<TableData>(\n tableToolbarConfig?.isSearchEnabled,\n tableToolbarConfig?.fuzzyMatchThreshold ?? 'CONTAINS',\n expanded,\n setExpanded\n );\n\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>(\n hiddenColumns?.reduce((acc, columnId) => ({ ...acc, [columnId]: false }), {}) ?? {}\n );\n\n const handleRowSelectionChange: OnChangeFn<RowSelectionState> = (rowSelectionUpdater) => {\n const newRowSelection =\n typeof rowSelectionUpdater === 'function' ? rowSelectionUpdater(rowSelection) : rowSelectionUpdater;\n onRowSelectionChange?.(newRowSelection);\n };\n\n const handleRowSelectionEvent = useCallback(\n (table: TanstackTable<TableData>, row: Row<TableData>, isModified: boolean) => {\n if (rowSelectionVariant === 'standard' || isModified) {\n row.toggleSelected();\n } else {\n // Legend variant (when action not modified with shift/meta key).\n // Note that this behavior needs to be kept in sync with behavior in\n // the Legend component for list-based legends.\n if (row.getIsSelected() && !table.getIsAllRowsSelected()) {\n // Row was already selected. Revert to select all.\n table.toggleAllRowsSelected();\n } else {\n // Focus the selected row.\n onRowSelectionChange?.({\n [row.id]: true,\n });\n }\n }\n },\n [onRowSelectionChange, rowSelectionVariant]\n );\n\n const handleCheckboxChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>, table: TanstackTable<TableData>, row: Row<TableData>) => {\n const nativePointerEvent =\n e.nativeEvent && (e.nativeEvent instanceof MouseEvent || e.nativeEvent instanceof KeyboardEvent)\n ? (e.nativeEvent as PointerEvent)\n : undefined;\n const isModifed = !!nativePointerEvent?.metaKey || !!nativePointerEvent?.shiftKey;\n handleRowSelectionEvent(table, row, isModifed);\n },\n [handleRowSelectionEvent]\n );\n\n const handleSortingChange: OnChangeFn<SortingState> = (sortingUpdater) => {\n const newSorting = typeof sortingUpdater === 'function' ? sortingUpdater(sorting) : sortingUpdater;\n onSortingChange?.(newSorting);\n };\n\n const actionsColumn: ColumnDef<TableData> = useMemo(() => {\n return {\n id: 'itemActions',\n header: 'Actions',\n cell: ({ row }): ReactElement => {\n return (\n <Stack direction=\"row\" alignItems=\"center\">\n {getItemActions?.({ id: row.id, data: row.original })}\n </Stack>\n );\n },\n enableSorting: false,\n enableResizing: false,\n };\n }, [getItemActions]);\n\n const checkboxColumn: ColumnDef<TableData> = useMemo(() => {\n return {\n id: 'checkboxRowSelect',\n size: 28,\n header: ({ table }): ReactElement => {\n return (\n <TableCheckbox\n checked={table.getIsAllRowsSelected()}\n indeterminate={table.getIsSomeRowsSelected()}\n onChange={table.getToggleAllRowsSelectedHandler()}\n color={theme.palette.text.primary}\n density={density}\n />\n );\n },\n cell: ({ row, table }): ReactElement => {\n return (\n <TableCheckbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={(e) => {\n handleCheckboxChange(e, table, row);\n }}\n color={getCheckboxColor?.(row.original)}\n density={density}\n />\n );\n },\n enableSorting: false,\n enableResizing: false,\n };\n }, [theme.palette.text.primary, density, getCheckboxColor, handleCheckboxChange]);\n\n const tableColumns: Array<ColumnDef<TableData>> = useMemo(() => {\n const initTableColumns = persesColumnsToTanstackColumns(columns, defaultColumnConfig);\n\n if (hasItemActions) {\n initTableColumns.unshift(actionsColumn);\n }\n\n if (checkboxSelection) {\n initTableColumns.unshift(checkboxColumn);\n }\n\n return initTableColumns;\n }, [columns, defaultColumnConfig, hasItemActions, checkboxSelection, actionsColumn, checkboxColumn]);\n\n const table = useReactTable({\n data,\n columns: tableColumns,\n getRowId: getRowId,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: pagination ? getPaginationRowModel() : undefined,\n // without this setting, the getPaginationRowModel setting persists and it is not possible to switch from paginated to unpaginated\n // can be removed once https://github.com/TanStack/table/pull/5974 is merged\n manualPagination: !pagination,\n enableRowSelection: !!checkboxSelection,\n onRowSelectionChange: handleRowSelectionChange,\n onSortingChange: handleSortingChange,\n onColumnVisibilityChange: setColumnVisibility,\n getSubRows: getSubRows,\n getExpandedRowModel: hasSubRows ? getExpandedRowModel() : undefined,\n ...fuzzySearchOptions,\n // For now, defaulting to sort by descending first. We can expose the ability\n // to customize it if/when we have use cases for it.\n sortDescFirst: true,\n columnResizeMode,\n onExpandedChange: setExpanded,\n state: {\n rowSelection,\n sorting,\n globalFilter: tableToolbarConfig?.isSearchEnabled ? globalFilter : undefined,\n columnVisibility,\n ...(pagination ? { pagination } : {}),\n expanded,\n },\n });\n\n const handleRowClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>, rowId: string) => {\n const row = table.getRow(rowId);\n const isModifiedClick = e.metaKey || e.shiftKey;\n handleRowSelectionEvent(table, row, isModifiedClick);\n },\n [handleRowSelectionEvent, table]\n );\n\n return (\n <VirtualizedTable\n {...otherProps}\n density={density}\n defaultColumnWidth={defaultColumnWidth}\n defaultColumnHeight={defaultColumnHeight}\n onRowClick={handleRowClick}\n rows={table.getRowModel().rows}\n columns={table.getVisibleFlatColumns()}\n columnSizing={table.getState().columnSizing}\n columnSizingInfo={table.getState().columnSizingInfo}\n headers={table.getHeaderGroups()}\n cellConfigs={cellConfigs}\n pagination={pagination}\n onPaginationChange={onPaginationChange}\n rowCount={table.getRowCount()}\n toolbarConfig={{\n isSearchEnabled: tableToolbarConfig?.isSearchEnabled,\n globalFilter,\n onGlobalFilterChange: setGlobalFilter,\n isColumnFilterEnabled: tableToolbarConfig?.isColumnFilterEnabled,\n columns: table.getAllColumns(),\n columnFilterMenuMaxHeight: tableToolbarConfig?.columnFilterMenuMaxHeight,\n isExpandAllEnabled: hasSubRows,\n isAllExpanded: table.getIsAllRowsExpanded(),\n onExpandAllChange: table.getToggleAllRowsExpandedHandler(),\n }}\n />\n );\n}\n"],"names":["Stack","useTheme","getCoreRowModel","getExpandedRowModel","getPaginationRowModel","getSortedRowModel","useReactTable","useCallback","useMemo","useState","useFuzzySearch","TableCheckbox","VirtualizedTable","DEFAULT_COLUMN_WIDTH","persesColumnsToTanstackColumns","DEFAULT_GET_ROW_ID","data","index","DEFAULT_ROW_SELECTION","DEFAULT_SORTING","Table","columns","cellConfigs","density","defaultColumnWidth","defaultColumnHeight","checkboxSelection","onRowSelectionChange","onSortingChange","getCheckboxColor","getRowId","rowSelection","sorting","getItemActions","hasItemActions","pagination","onPaginationChange","rowSelectionVariant","getSubRows","hiddenColumns","tableToolbarConfig","columnResizeMode","defaultColumnConfig","otherProps","theme","hasSubRows","expanded","setExpanded","globalFilter","setGlobalFilter","fuzzySearchOptions","isSearchEnabled","fuzzyMatchThreshold","columnVisibility","setColumnVisibility","reduce","acc","columnId","handleRowSelectionChange","rowSelectionUpdater","newRowSelection","handleRowSelectionEvent","table","row","isModified","toggleSelected","getIsSelected","getIsAllRowsSelected","toggleAllRowsSelected","id","handleCheckboxChange","e","nativePointerEvent","nativeEvent","MouseEvent","KeyboardEvent","undefined","isModifed","metaKey","shiftKey","handleSortingChange","sortingUpdater","newSorting","actionsColumn","header","cell","direction","alignItems","original","enableSorting","enableResizing","checkboxColumn","size","checked","indeterminate","getIsSomeRowsSelected","onChange","getToggleAllRowsSelectedHandler","color","palette","text","primary","getIsSomeSelected","tableColumns","initTableColumns","unshift","manualPagination","enableRowSelection","onColumnVisibilityChange","sortDescFirst","onExpandedChange","state","handleRowClick","rowId","getRow","isModifiedClick","onRowClick","rows","getRowModel","getVisibleFlatColumns","columnSizing","getState","columnSizingInfo","headers","getHeaderGroups","rowCount","getRowCount","toolbarConfig","onGlobalFilterChange","isColumnFilterEnabled","getAllColumns","columnFilterMenuMaxHeight","isExpandAllEnabled","isAllExpanded","getIsAllRowsExpanded","onExpandAllChange","getToggleAllRowsExpandedHandler"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/Table/Table.tsx"],"sourcesContent":["// Copyright 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 { Stack, useTheme } from '@mui/material';\nimport type {\n ColumnDef,\n ExpandedState,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n Table as TanstackTable,\n VisibilityState,\n} from '@tanstack/react-table';\nimport {\n getCoreRowModel,\n getExpandedRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport type { ReactElement } from 'react';\nimport { useCallback, useMemo, useState } from 'react';\n\nimport { useFuzzySearch } from './hooks/useFuzzySearch';\nimport type { TableProps } from './model/table-model';\nimport { DEFAULT_COLUMN_WIDTH, persesColumnsToTanstackColumns } from './model/table-model';\nimport { TableCheckbox } from './TableCheckbox';\nimport { VirtualizedTable } from './VirtualizedTable';\n\nconst DEFAULT_GET_ROW_ID = (data: unknown, index: number): string => {\n return `${index}`;\n};\n\n// Setting these defaults one enables them to be consistent across renders instead\n// of being recreated every time, which can be important for perf because react\n// does not do deep equality checking for objects and arrays.\nconst DEFAULT_ROW_SELECTION: NonNullable<TableProps<unknown>['rowSelection']> = {};\nconst DEFAULT_SORTING: NonNullable<TableProps<unknown>['sorting']> = [];\n\n/**\n * Component used to render tabular data in Perses use cases. This component is\n * **not** intended to be a general use data table for use cases unrelated to Perses.\n *\n * **Note: This component is currently experimental and is likely to have significant breaking changes in the near future. Use with caution outside of the core Perses codebase.**\n */\nexport function Table<TableData>({\n data,\n columns,\n cellConfigs,\n density = 'standard',\n defaultColumnWidth = DEFAULT_COLUMN_WIDTH,\n defaultColumnHeight = 'auto',\n checkboxSelection,\n onRowSelectionChange,\n onSortingChange,\n getCheckboxColor,\n getRowId = DEFAULT_GET_ROW_ID,\n rowSelection = DEFAULT_ROW_SELECTION,\n sorting = DEFAULT_SORTING,\n getItemActions,\n hasItemActions,\n pagination,\n onPaginationChange,\n rowSelectionVariant = 'standard',\n getSubRows,\n hiddenColumns,\n tableToolbarConfig,\n columnResizeMode = 'onChange',\n defaultColumnConfig,\n ...otherProps\n}: TableProps<TableData>): ReactElement {\n const theme = useTheme();\n\n const hasSubRows = !!getSubRows;\n\n const [expanded, setExpanded] = useState<ExpandedState>({});\n\n const { globalFilter, setGlobalFilter, fuzzySearchOptions } = useFuzzySearch<TableData>(\n tableToolbarConfig?.isSearchEnabled,\n tableToolbarConfig?.fuzzyMatchThreshold ?? 'CONTAINS',\n expanded,\n setExpanded,\n );\n\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>(\n hiddenColumns?.reduce((acc, columnId) => ({ ...acc, [columnId]: false }), {}) ?? {},\n );\n\n const handleRowSelectionChange: OnChangeFn<RowSelectionState> = (rowSelectionUpdater) => {\n const newRowSelection =\n typeof rowSelectionUpdater === 'function' ? rowSelectionUpdater(rowSelection) : rowSelectionUpdater;\n onRowSelectionChange?.(newRowSelection);\n };\n\n const handleRowSelectionEvent = useCallback(\n (table: TanstackTable<TableData>, row: Row<TableData>, isModified: boolean) => {\n if (rowSelectionVariant === 'standard' || isModified) {\n row.toggleSelected();\n } else {\n // Legend variant (when action not modified with shift/meta key).\n // Note that this behavior needs to be kept in sync with behavior in\n // the Legend component for list-based legends.\n if (row.getIsSelected() && !table.getIsAllRowsSelected()) {\n // Row was already selected. Revert to select all.\n table.toggleAllRowsSelected();\n } else {\n // Focus the selected row.\n onRowSelectionChange?.({\n [row.id]: true,\n });\n }\n }\n },\n [onRowSelectionChange, rowSelectionVariant],\n );\n\n const handleCheckboxChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>, table: TanstackTable<TableData>, row: Row<TableData>) => {\n const nativePointerEvent =\n e.nativeEvent && (e.nativeEvent instanceof MouseEvent || e.nativeEvent instanceof KeyboardEvent)\n ? (e.nativeEvent as PointerEvent)\n : undefined;\n const isModifed = !!nativePointerEvent?.metaKey || !!nativePointerEvent?.shiftKey;\n handleRowSelectionEvent(table, row, isModifed);\n },\n [handleRowSelectionEvent],\n );\n\n const handleSortingChange: OnChangeFn<SortingState> = (sortingUpdater) => {\n const newSorting = typeof sortingUpdater === 'function' ? sortingUpdater(sorting) : sortingUpdater;\n onSortingChange?.(newSorting);\n };\n\n const actionsColumn: ColumnDef<TableData> = useMemo(() => {\n return {\n id: 'itemActions',\n header: 'Actions',\n cell: ({ row }): ReactElement => {\n return (\n <Stack direction=\"row\" alignItems=\"center\">\n {getItemActions?.({ id: row.id, data: row.original })}\n </Stack>\n );\n },\n enableSorting: false,\n enableResizing: false,\n };\n }, [getItemActions]);\n\n const checkboxColumn: ColumnDef<TableData> = useMemo(() => {\n return {\n id: 'checkboxRowSelect',\n size: 28,\n header: ({ table }): ReactElement => {\n return (\n <TableCheckbox\n checked={table.getIsAllRowsSelected()}\n indeterminate={table.getIsSomeRowsSelected()}\n onChange={table.getToggleAllRowsSelectedHandler()}\n color={theme.palette.text.primary}\n density={density}\n />\n );\n },\n cell: ({ row, table }): ReactElement => {\n return (\n <TableCheckbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={(e) => {\n handleCheckboxChange(e, table, row);\n }}\n color={getCheckboxColor?.(row.original)}\n density={density}\n />\n );\n },\n enableSorting: false,\n enableResizing: false,\n };\n }, [theme.palette.text.primary, density, getCheckboxColor, handleCheckboxChange]);\n\n const tableColumns: Array<ColumnDef<TableData>> = useMemo(() => {\n const initTableColumns = persesColumnsToTanstackColumns(columns, defaultColumnConfig);\n\n if (hasItemActions) {\n initTableColumns.unshift(actionsColumn);\n }\n\n if (checkboxSelection) {\n initTableColumns.unshift(checkboxColumn);\n }\n\n return initTableColumns;\n }, [columns, defaultColumnConfig, hasItemActions, checkboxSelection, actionsColumn, checkboxColumn]);\n\n const table = useReactTable({\n data,\n columns: tableColumns,\n getRowId: getRowId,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: pagination ? getPaginationRowModel() : undefined,\n // without this setting, the getPaginationRowModel setting persists and it is not possible to switch from paginated to unpaginated\n // can be removed once https://github.com/TanStack/table/pull/5974 is merged\n manualPagination: !pagination,\n enableRowSelection: !!checkboxSelection,\n onRowSelectionChange: handleRowSelectionChange,\n onSortingChange: handleSortingChange,\n onColumnVisibilityChange: setColumnVisibility,\n getSubRows: getSubRows,\n getExpandedRowModel: hasSubRows ? getExpandedRowModel() : undefined,\n ...fuzzySearchOptions,\n // For now, defaulting to sort by descending first. We can expose the ability\n // to customize it if/when we have use cases for it.\n sortDescFirst: true,\n columnResizeMode,\n onExpandedChange: setExpanded,\n state: {\n rowSelection,\n sorting,\n globalFilter: tableToolbarConfig?.isSearchEnabled ? globalFilter : undefined,\n columnVisibility,\n ...(pagination ? { pagination } : {}),\n expanded,\n },\n });\n\n const handleRowClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>, rowId: string) => {\n const row = table.getRow(rowId);\n const isModifiedClick = e.metaKey || e.shiftKey;\n handleRowSelectionEvent(table, row, isModifiedClick);\n },\n [handleRowSelectionEvent, table],\n );\n\n return (\n <VirtualizedTable\n {...otherProps}\n density={density}\n defaultColumnWidth={defaultColumnWidth}\n defaultColumnHeight={defaultColumnHeight}\n onRowClick={handleRowClick}\n rows={table.getRowModel().rows}\n columns={table.getVisibleFlatColumns()}\n columnSizing={table.getState().columnSizing}\n columnSizingInfo={table.getState().columnSizingInfo}\n headers={table.getHeaderGroups()}\n cellConfigs={cellConfigs}\n pagination={pagination}\n onPaginationChange={onPaginationChange}\n rowCount={table.getRowCount()}\n toolbarConfig={{\n isSearchEnabled: tableToolbarConfig?.isSearchEnabled,\n globalFilter,\n onGlobalFilterChange: setGlobalFilter,\n isColumnFilterEnabled: tableToolbarConfig?.isColumnFilterEnabled,\n columns: table.getAllColumns(),\n columnFilterMenuMaxHeight: tableToolbarConfig?.columnFilterMenuMaxHeight,\n isExpandAllEnabled: hasSubRows,\n isAllExpanded: table.getIsAllRowsExpanded(),\n onExpandAllChange: table.getToggleAllRowsExpandedHandler(),\n }}\n />\n );\n}\n"],"names":["Stack","useTheme","getCoreRowModel","getExpandedRowModel","getPaginationRowModel","getSortedRowModel","useReactTable","useCallback","useMemo","useState","useFuzzySearch","DEFAULT_COLUMN_WIDTH","persesColumnsToTanstackColumns","TableCheckbox","VirtualizedTable","DEFAULT_GET_ROW_ID","data","index","DEFAULT_ROW_SELECTION","DEFAULT_SORTING","Table","columns","cellConfigs","density","defaultColumnWidth","defaultColumnHeight","checkboxSelection","onRowSelectionChange","onSortingChange","getCheckboxColor","getRowId","rowSelection","sorting","getItemActions","hasItemActions","pagination","onPaginationChange","rowSelectionVariant","getSubRows","hiddenColumns","tableToolbarConfig","columnResizeMode","defaultColumnConfig","otherProps","theme","hasSubRows","expanded","setExpanded","globalFilter","setGlobalFilter","fuzzySearchOptions","isSearchEnabled","fuzzyMatchThreshold","columnVisibility","setColumnVisibility","reduce","acc","columnId","handleRowSelectionChange","rowSelectionUpdater","newRowSelection","handleRowSelectionEvent","table","row","isModified","toggleSelected","getIsSelected","getIsAllRowsSelected","toggleAllRowsSelected","id","handleCheckboxChange","e","nativePointerEvent","nativeEvent","MouseEvent","KeyboardEvent","undefined","isModifed","metaKey","shiftKey","handleSortingChange","sortingUpdater","newSorting","actionsColumn","header","cell","direction","alignItems","original","enableSorting","enableResizing","checkboxColumn","size","checked","indeterminate","getIsSomeRowsSelected","onChange","getToggleAllRowsSelectedHandler","color","palette","text","primary","getIsSomeSelected","tableColumns","initTableColumns","unshift","manualPagination","enableRowSelection","onColumnVisibilityChange","sortDescFirst","onExpandedChange","state","handleRowClick","rowId","getRow","isModifiedClick","onRowClick","rows","getRowModel","getVisibleFlatColumns","columnSizing","getState","columnSizingInfo","headers","getHeaderGroups","rowCount","getRowCount","toolbarConfig","onGlobalFilterChange","isColumnFilterEnabled","getAllColumns","columnFilterMenuMaxHeight","isExpandAllEnabled","isAllExpanded","getIsAllRowsExpanded","onExpandAllChange","getToggleAllRowsExpandedHandler"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import { TableBodyProps as MuiTableBodyProps } from '@mui/material';
1
+ import type { TableBodyProps as MuiTableBodyProps } from '@mui/material';
3
2
  type TableBodyProps = MuiTableBodyProps;
4
3
  export declare const TableBody: import("react").ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & import("react").RefAttributes<HTMLTableSectionElement>>;
5
4
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../src/Table/TableBody.tsx"],"names":[],"mappings":";AAaA,OAAO,EAA6B,cAAc,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG/F,KAAK,cAAc,GAAG,iBAAiB,CAAC;AAExC,eAAO,MAAM,SAAS,iIAEpB,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../src/Table/TableBody.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIzE,KAAK,cAAc,GAAG,iBAAiB,CAAC;AAExC,eAAO,MAAM,SAAS,iIAEpB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  // Copyright The Perses Authors
3
2
  // Licensed under the Apache License, Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
@@ -11,8 +10,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- import { TableBody as MuiTableBody } from '@mui/material';
15
- import { forwardRef } from 'react';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { TableBody as MuiTableBody } from "@mui/material";
15
+ import { forwardRef } from "react";
16
16
  export const TableBody = /*#__PURE__*/ forwardRef(function TableBody(props, ref) {
17
17
  return /*#__PURE__*/ _jsx(MuiTableBody, {
18
18
  ...props,