@perses-dev/dashboards 0.0.0-snapshot-panel-extra-content-2-2767e21 → 0.0.0-snapshot-scatter-chart-embed-8efdfab

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 (341) hide show
  1. package/dist/cjs/components/AddGroupButton/AddGroupButton.js +10 -7
  2. package/dist/cjs/components/AddGroupButton/index.js +10 -8
  3. package/dist/cjs/components/AddPanelButton/AddPanelButton.js +10 -11
  4. package/dist/cjs/components/AddPanelButton/index.js +10 -8
  5. package/dist/cjs/components/Dashboard/Dashboard.js +11 -9
  6. package/dist/cjs/components/Dashboard/index.js +10 -8
  7. package/dist/cjs/components/DashboardStickyToolbar/DashboardStickyToolbar.js +53 -22
  8. package/dist/cjs/components/DashboardStickyToolbar/index.js +10 -8
  9. package/dist/cjs/components/DashboardToolbar/DashboardToolbar.js +81 -102
  10. package/dist/cjs/components/DashboardToolbar/index.js +10 -8
  11. package/dist/cjs/components/Datasources/DatasourceEditor.js +237 -0
  12. package/dist/cjs/components/Datasources/EditDatasourcesButton.js +106 -0
  13. package/dist/cjs/components/Datasources/index.js +31 -0
  14. package/dist/cjs/components/DeletePanelDialog/DeletePanelDialog.js +12 -10
  15. package/dist/cjs/components/DeletePanelDialog/index.js +10 -8
  16. package/dist/cjs/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +17 -15
  17. package/dist/cjs/components/DeletePanelGroupDialog/index.js +10 -8
  18. package/dist/cjs/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +5 -3
  19. package/dist/cjs/components/DiscardChangesConfirmationDialog/index.js +10 -8
  20. package/dist/cjs/components/DownloadButton/DownloadButton.js +12 -10
  21. package/dist/cjs/components/DownloadButton/index.js +10 -8
  22. package/dist/cjs/components/EditButton/EditButton.js +8 -6
  23. package/dist/cjs/components/EditButton/index.js +10 -8
  24. package/dist/cjs/components/EditJsonButton/EditJsonButton.js +15 -11
  25. package/dist/cjs/components/EditJsonButton/index.js +10 -8
  26. package/dist/cjs/components/EditJsonDialog/EditJsonDialog.js +46 -24
  27. package/dist/cjs/components/EditJsonDialog/index.js +10 -8
  28. package/dist/cjs/components/EmptyDashboard/EmptyDashboard.js +18 -16
  29. package/dist/cjs/components/EmptyDashboard/index.js +10 -8
  30. package/dist/cjs/components/GridLayout/GridContainer.js +5 -3
  31. package/dist/cjs/components/GridLayout/GridItemContent.js +33 -13
  32. package/dist/cjs/components/GridLayout/GridLayout.js +18 -16
  33. package/dist/cjs/components/GridLayout/GridTitle.js +35 -33
  34. package/dist/cjs/components/GridLayout/index.js +13 -11
  35. package/dist/cjs/components/Panel/Panel.js +22 -23
  36. package/dist/cjs/components/Panel/PanelContent.js +11 -8
  37. package/dist/cjs/components/Panel/PanelHeader.js +33 -31
  38. package/dist/cjs/components/Panel/index.js +10 -8
  39. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +25 -77
  40. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +231 -141
  41. package/dist/cjs/components/PanelDrawer/PanelPreview.js +11 -9
  42. package/dist/cjs/components/PanelDrawer/index.js +11 -8
  43. package/dist/cjs/components/PanelDrawer/usePanelEditor.js +3 -1
  44. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +18 -16
  45. package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +15 -11
  46. package/dist/cjs/components/PanelGroupDialog/index.js +10 -8
  47. package/dist/cjs/components/QuerySummaryTable/QuerySummaryTable.js +47 -45
  48. package/dist/cjs/components/QuerySummaryTable/index.js +10 -8
  49. package/dist/cjs/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +23 -21
  50. package/dist/cjs/components/SaveChangesConfirmationDialog/index.js +10 -8
  51. package/dist/cjs/components/SaveDashboardButton/SaveDashboardButton.js +11 -9
  52. package/dist/cjs/components/SaveDashboardButton/index.js +10 -8
  53. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +46 -19
  54. package/dist/cjs/components/TimeRangeControls/index.js +10 -8
  55. package/dist/cjs/components/ToolbarIconButton/ToolbarIconButton.js +5 -3
  56. package/dist/cjs/components/ToolbarIconButton/index.js +10 -8
  57. package/dist/cjs/components/Variables/BuiltinVariableAccordions.js +140 -0
  58. package/dist/cjs/components/Variables/EditVariablesButton.js +19 -15
  59. package/dist/cjs/components/Variables/TemplateVariable.js +259 -110
  60. package/dist/cjs/components/Variables/VariableEditor.js +354 -117
  61. package/dist/cjs/components/Variables/VariableList.js +44 -22
  62. package/dist/cjs/components/Variables/index.js +14 -11
  63. package/dist/cjs/components/index.js +32 -29
  64. package/dist/cjs/constants/grid-layout-config.js +6 -2
  65. package/dist/cjs/constants/index.js +12 -9
  66. package/dist/cjs/constants/styles.js +42 -0
  67. package/dist/cjs/constants/user-interface-text.js +9 -2
  68. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +43 -35
  69. package/dist/cjs/context/DashboardProvider/common.js +6 -2
  70. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +70 -38
  71. package/dist/cjs/context/DashboardProvider/delete-panel-group-slice.js +3 -1
  72. package/dist/cjs/context/DashboardProvider/delete-panel-slice.js +5 -3
  73. package/dist/cjs/context/DashboardProvider/discard-changes-dialog-slice.js +3 -1
  74. package/dist/cjs/context/DashboardProvider/duplicate-panel-slice.js +3 -1
  75. package/dist/cjs/context/DashboardProvider/edit-json-dialog-slice.js +3 -1
  76. package/dist/cjs/context/DashboardProvider/index.js +12 -10
  77. package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +13 -11
  78. package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +8 -6
  79. package/dist/cjs/context/DashboardProvider/panel-group-slice.js +15 -7
  80. package/dist/cjs/context/DashboardProvider/panel-slice.js +3 -1
  81. package/dist/cjs/context/DashboardProvider/save-changes-dialog-slice.js +3 -1
  82. package/dist/cjs/context/DatasourceStoreProvider.js +167 -46
  83. package/dist/cjs/context/TemplateVariableProvider/TemplateVariableProvider.js +205 -51
  84. package/dist/cjs/context/TemplateVariableProvider/hydrationUtils.js +65 -13
  85. package/dist/cjs/context/TemplateVariableProvider/index.js +10 -8
  86. package/dist/cjs/context/TemplateVariableProvider/query-params.js +17 -7
  87. package/dist/cjs/context/TemplateVariableProvider/utils.js +49 -9
  88. package/dist/cjs/context/index.js +13 -11
  89. package/dist/cjs/context/useDashboard.js +12 -8
  90. package/dist/cjs/index.js +12 -10
  91. package/dist/cjs/stories/decorators/WithDashboard.js +6 -4
  92. package/dist/cjs/stories/decorators/WithDatasourceStore.js +6 -4
  93. package/dist/cjs/stories/decorators/WithTemplateVariables.js +6 -4
  94. package/dist/cjs/stories/decorators/constants.js +5 -3
  95. package/dist/cjs/stories/decorators/index.js +13 -11
  96. package/dist/cjs/test/dashboard-provider.js +8 -4
  97. package/dist/cjs/test/datasource-provider.js +16 -12
  98. package/dist/cjs/test/index.js +13 -11
  99. package/dist/cjs/test/plugin-registry.js +6 -4
  100. package/dist/cjs/test/render.js +27 -20
  101. package/dist/cjs/test/setup-tests.js +2 -2
  102. package/dist/cjs/test/testDashboard.js +13 -11
  103. package/dist/cjs/utils/index.js +11 -9
  104. package/dist/cjs/utils/panelUtils.js +9 -3
  105. package/dist/cjs/utils/time.js +5 -3
  106. package/dist/cjs/validation/index.js +30 -0
  107. package/dist/cjs/validation/panel.js +29 -0
  108. package/dist/cjs/views/ViewDashboard/DashboardApp.js +30 -16
  109. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +64 -20
  110. package/dist/cjs/views/ViewDashboard/index.js +10 -8
  111. package/dist/cjs/views/index.js +10 -8
  112. package/dist/components/AddGroupButton/AddGroupButton.d.ts.map +1 -1
  113. package/dist/components/AddGroupButton/AddGroupButton.js +2 -1
  114. package/dist/components/AddGroupButton/AddGroupButton.js.map +1 -1
  115. package/dist/components/AddGroupButton/index.js.map +1 -1
  116. package/dist/components/AddPanelButton/AddPanelButton.js +2 -5
  117. package/dist/components/AddPanelButton/AddPanelButton.js.map +1 -1
  118. package/dist/components/AddPanelButton/index.js.map +1 -1
  119. package/dist/components/Dashboard/Dashboard.js.map +1 -1
  120. package/dist/components/Dashboard/index.js.map +1 -1
  121. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.d.ts.map +1 -1
  122. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.js +37 -8
  123. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.js.map +1 -1
  124. package/dist/components/DashboardStickyToolbar/index.js.map +1 -1
  125. package/dist/components/DashboardToolbar/DashboardToolbar.d.ts.map +1 -1
  126. package/dist/components/DashboardToolbar/DashboardToolbar.js +61 -84
  127. package/dist/components/DashboardToolbar/DashboardToolbar.js.map +1 -1
  128. package/dist/components/DashboardToolbar/index.js.map +1 -1
  129. package/dist/components/Datasources/DatasourceEditor.d.ts +8 -0
  130. package/dist/components/Datasources/DatasourceEditor.d.ts.map +1 -0
  131. package/dist/components/Datasources/DatasourceEditor.js +224 -0
  132. package/dist/components/Datasources/DatasourceEditor.js.map +1 -0
  133. package/dist/components/Datasources/EditDatasourcesButton.d.ts +3 -0
  134. package/dist/components/Datasources/EditDatasourcesButton.d.ts.map +1 -0
  135. package/dist/components/Datasources/EditDatasourcesButton.js +93 -0
  136. package/dist/components/Datasources/EditDatasourcesButton.js.map +1 -0
  137. package/dist/components/Datasources/index.d.ts +3 -0
  138. package/dist/components/Datasources/index.d.ts.map +1 -0
  139. package/dist/components/Datasources/index.js +16 -0
  140. package/dist/components/Datasources/index.js.map +1 -0
  141. package/dist/components/DeletePanelDialog/DeletePanelDialog.js.map +1 -1
  142. package/dist/components/DeletePanelDialog/index.js.map +1 -1
  143. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +2 -2
  144. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js.map +1 -1
  145. package/dist/components/DeletePanelGroupDialog/index.js.map +1 -1
  146. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js.map +1 -1
  147. package/dist/components/DiscardChangesConfirmationDialog/index.js.map +1 -1
  148. package/dist/components/DownloadButton/DownloadButton.js.map +1 -1
  149. package/dist/components/DownloadButton/index.js.map +1 -1
  150. package/dist/components/EditButton/EditButton.js.map +1 -1
  151. package/dist/components/EditButton/index.js.map +1 -1
  152. package/dist/components/EditJsonButton/EditJsonButton.d.ts +4 -1
  153. package/dist/components/EditJsonButton/EditJsonButton.d.ts.map +1 -1
  154. package/dist/components/EditJsonButton/EditJsonButton.js +5 -3
  155. package/dist/components/EditJsonButton/EditJsonButton.js.map +1 -1
  156. package/dist/components/EditJsonButton/index.js.map +1 -1
  157. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts +5 -1
  158. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts.map +1 -1
  159. package/dist/components/EditJsonDialog/EditJsonDialog.js +32 -12
  160. package/dist/components/EditJsonDialog/EditJsonDialog.js.map +1 -1
  161. package/dist/components/EditJsonDialog/index.js.map +1 -1
  162. package/dist/components/EmptyDashboard/EmptyDashboard.js.map +1 -1
  163. package/dist/components/EmptyDashboard/index.js.map +1 -1
  164. package/dist/components/GridLayout/GridContainer.js.map +1 -1
  165. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  166. package/dist/components/GridLayout/GridItemContent.js +27 -9
  167. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  168. package/dist/components/GridLayout/GridLayout.js +2 -2
  169. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  170. package/dist/components/GridLayout/GridTitle.js.map +1 -1
  171. package/dist/components/GridLayout/index.js.map +1 -1
  172. package/dist/components/Panel/Panel.d.ts +13 -1
  173. package/dist/components/Panel/Panel.d.ts.map +1 -1
  174. package/dist/components/Panel/Panel.js +9 -12
  175. package/dist/components/Panel/Panel.js.map +1 -1
  176. package/dist/components/Panel/PanelContent.d.ts +2 -1
  177. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  178. package/dist/components/Panel/PanelContent.js +3 -2
  179. package/dist/components/Panel/PanelContent.js.map +1 -1
  180. package/dist/components/Panel/PanelHeader.js.map +1 -1
  181. package/dist/components/Panel/index.js.map +1 -1
  182. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  183. package/dist/components/PanelDrawer/PanelDrawer.js +22 -76
  184. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
  185. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +4 -1
  186. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  187. package/dist/components/PanelDrawer/PanelEditorForm.js +225 -139
  188. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  189. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  190. package/dist/components/PanelDrawer/PanelPreview.js +2 -2
  191. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  192. package/dist/components/PanelDrawer/index.d.ts +1 -0
  193. package/dist/components/PanelDrawer/index.d.ts.map +1 -1
  194. package/dist/components/PanelDrawer/index.js +1 -0
  195. package/dist/components/PanelDrawer/index.js.map +1 -1
  196. package/dist/components/PanelDrawer/usePanelEditor.js.map +1 -1
  197. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
  198. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -1
  199. package/dist/components/PanelGroupDialog/index.js.map +1 -1
  200. package/dist/components/QuerySummaryTable/QuerySummaryTable.js +6 -6
  201. package/dist/components/QuerySummaryTable/QuerySummaryTable.js.map +1 -1
  202. package/dist/components/QuerySummaryTable/index.js.map +1 -1
  203. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +4 -4
  204. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js.map +1 -1
  205. package/dist/components/SaveChangesConfirmationDialog/index.js.map +1 -1
  206. package/dist/components/SaveDashboardButton/SaveDashboardButton.js +4 -4
  207. package/dist/components/SaveDashboardButton/SaveDashboardButton.js.map +1 -1
  208. package/dist/components/SaveDashboardButton/index.js.map +1 -1
  209. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
  210. package/dist/components/TimeRangeControls/TimeRangeControls.js +26 -5
  211. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
  212. package/dist/components/TimeRangeControls/index.js.map +1 -1
  213. package/dist/components/ToolbarIconButton/ToolbarIconButton.js.map +1 -1
  214. package/dist/components/ToolbarIconButton/index.js.map +1 -1
  215. package/dist/components/Variables/BuiltinVariableAccordions.d.ts +8 -0
  216. package/dist/components/Variables/BuiltinVariableAccordions.d.ts.map +1 -0
  217. package/dist/components/Variables/BuiltinVariableAccordions.js +127 -0
  218. package/dist/components/Variables/BuiltinVariableAccordions.js.map +1 -0
  219. package/dist/components/Variables/EditVariablesButton.d.ts.map +1 -1
  220. package/dist/components/Variables/EditVariablesButton.js +8 -6
  221. package/dist/components/Variables/EditVariablesButton.js.map +1 -1
  222. package/dist/components/Variables/TemplateVariable.d.ts +12 -2
  223. package/dist/components/Variables/TemplateVariable.d.ts.map +1 -1
  224. package/dist/components/Variables/TemplateVariable.js +242 -103
  225. package/dist/components/Variables/TemplateVariable.js.map +1 -1
  226. package/dist/components/Variables/VariableEditor.d.ts +9 -1
  227. package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
  228. package/dist/components/Variables/VariableEditor.js +324 -97
  229. package/dist/components/Variables/VariableEditor.js.map +1 -1
  230. package/dist/components/Variables/VariableList.d.ts +5 -0
  231. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  232. package/dist/components/Variables/VariableList.js +31 -19
  233. package/dist/components/Variables/VariableList.js.map +1 -1
  234. package/dist/components/Variables/index.d.ts +1 -0
  235. package/dist/components/Variables/index.d.ts.map +1 -1
  236. package/dist/components/Variables/index.js +1 -0
  237. package/dist/components/Variables/index.js.map +1 -1
  238. package/dist/components/index.d.ts +1 -0
  239. package/dist/components/index.d.ts.map +1 -1
  240. package/dist/components/index.js +1 -0
  241. package/dist/components/index.js.map +1 -1
  242. package/dist/constants/grid-layout-config.js.map +1 -1
  243. package/dist/constants/index.d.ts +1 -0
  244. package/dist/constants/index.d.ts.map +1 -1
  245. package/dist/constants/index.js +1 -0
  246. package/dist/constants/index.js.map +1 -1
  247. package/dist/constants/styles.d.ts +5 -0
  248. package/dist/constants/styles.d.ts.map +1 -0
  249. package/dist/constants/styles.js +23 -0
  250. package/dist/constants/styles.js.map +1 -0
  251. package/dist/constants/user-interface-text.d.ts +3 -0
  252. package/dist/constants/user-interface-text.d.ts.map +1 -1
  253. package/dist/constants/user-interface-text.js +3 -0
  254. package/dist/constants/user-interface-text.js.map +1 -1
  255. package/dist/context/DashboardProvider/DashboardProvider.d.ts +2 -1
  256. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
  257. package/dist/context/DashboardProvider/DashboardProvider.js +8 -6
  258. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
  259. package/dist/context/DashboardProvider/common.js.map +1 -1
  260. package/dist/context/DashboardProvider/dashboard-provider-api.js +2 -2
  261. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
  262. package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -1
  263. package/dist/context/DashboardProvider/delete-panel-slice.js +2 -2
  264. package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -1
  265. package/dist/context/DashboardProvider/discard-changes-dialog-slice.js.map +1 -1
  266. package/dist/context/DashboardProvider/duplicate-panel-slice.js.map +1 -1
  267. package/dist/context/DashboardProvider/edit-json-dialog-slice.js.map +1 -1
  268. package/dist/context/DashboardProvider/index.js.map +1 -1
  269. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +2 -2
  270. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
  271. package/dist/context/DashboardProvider/panel-editor-slice.js +7 -7
  272. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
  273. package/dist/context/DashboardProvider/panel-group-editor-slice.js +2 -2
  274. package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -1
  275. package/dist/context/DashboardProvider/panel-group-slice.js +3 -3
  276. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
  277. package/dist/context/DashboardProvider/panel-slice.js.map +1 -1
  278. package/dist/context/DashboardProvider/save-changes-dialog-slice.js.map +1 -1
  279. package/dist/context/DatasourceStoreProvider.d.ts +15 -10
  280. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  281. package/dist/context/DatasourceStoreProvider.js +161 -42
  282. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  283. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts +49 -13
  284. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts.map +1 -1
  285. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +178 -41
  286. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
  287. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts +9 -2
  288. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts.map +1 -1
  289. package/dist/context/TemplateVariableProvider/hydrationUtils.js +67 -12
  290. package/dist/context/TemplateVariableProvider/hydrationUtils.js.map +1 -1
  291. package/dist/context/TemplateVariableProvider/index.js.map +1 -1
  292. package/dist/context/TemplateVariableProvider/query-params.js.map +1 -1
  293. package/dist/context/TemplateVariableProvider/utils.d.ts +27 -2
  294. package/dist/context/TemplateVariableProvider/utils.d.ts.map +1 -1
  295. package/dist/context/TemplateVariableProvider/utils.js +48 -6
  296. package/dist/context/TemplateVariableProvider/utils.js.map +1 -1
  297. package/dist/context/index.js.map +1 -1
  298. package/dist/context/useDashboard.d.ts.map +1 -1
  299. package/dist/context/useDashboard.js +5 -3
  300. package/dist/context/useDashboard.js.map +1 -1
  301. package/dist/index.js.map +1 -1
  302. package/dist/stories/decorators/WithDashboard.js.map +1 -1
  303. package/dist/stories/decorators/WithDatasourceStore.js.map +1 -1
  304. package/dist/stories/decorators/WithTemplateVariables.js.map +1 -1
  305. package/dist/stories/decorators/constants.js +2 -2
  306. package/dist/stories/decorators/constants.js.map +1 -1
  307. package/dist/stories/decorators/index.js.map +1 -1
  308. package/dist/test/dashboard-provider.js.map +1 -1
  309. package/dist/test/datasource-provider.d.ts.map +1 -1
  310. package/dist/test/datasource-provider.js +5 -7
  311. package/dist/test/datasource-provider.js.map +1 -1
  312. package/dist/test/index.js.map +1 -1
  313. package/dist/test/plugin-registry.js.map +1 -1
  314. package/dist/test/render.d.ts.map +1 -1
  315. package/dist/test/render.js +8 -3
  316. package/dist/test/render.js.map +1 -1
  317. package/dist/test/setup-tests.js.map +1 -1
  318. package/dist/test/testDashboard.js +10 -10
  319. package/dist/test/testDashboard.js.map +1 -1
  320. package/dist/utils/index.js.map +1 -1
  321. package/dist/utils/panelUtils.js.map +1 -1
  322. package/dist/utils/time.js.map +1 -1
  323. package/dist/validation/index.d.ts +2 -0
  324. package/dist/validation/index.d.ts.map +1 -0
  325. package/dist/validation/index.js +15 -0
  326. package/dist/validation/index.js.map +1 -0
  327. package/dist/validation/panel.d.ts +19 -0
  328. package/dist/validation/panel.d.ts.map +1 -0
  329. package/dist/validation/panel.js +21 -0
  330. package/dist/validation/panel.js.map +1 -0
  331. package/dist/views/ViewDashboard/DashboardApp.d.ts +1 -0
  332. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  333. package/dist/views/ViewDashboard/DashboardApp.js +17 -5
  334. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  335. package/dist/views/ViewDashboard/ViewDashboard.d.ts +3 -1
  336. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  337. package/dist/views/ViewDashboard/ViewDashboard.js +54 -12
  338. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  339. package/dist/views/ViewDashboard/index.js.map +1 -1
  340. package/dist/views/index.js.map +1 -1
  341. package/package.json +8 -7
@@ -14,71 +14,104 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "TemplateVariable", {
18
- enumerable: true,
19
- get: ()=>TemplateVariable
17
+ function _export(target, all) {
18
+ for(var name in all)Object.defineProperty(target, name, {
19
+ enumerable: true,
20
+ get: all[name]
21
+ });
22
+ }
23
+ _export(exports, {
24
+ TemplateVariable: function() {
25
+ return TemplateVariable;
26
+ },
27
+ useListVariableState: function() {
28
+ return useListVariableState;
29
+ }
20
30
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
31
+ const _jsxruntime = require("react/jsx-runtime");
22
32
  const _react = require("react");
23
33
  const _material = require("@mui/material");
24
34
  const _core = require("@perses-dev/core");
25
- const _pluginSystem = require("@perses-dev/plugin-system");
35
+ const _pluginsystem = require("@perses-dev/plugin-system");
26
36
  const _context = require("../../context");
27
- function TemplateVariable({ name }) {
28
- var ref;
29
- const ctx = (0, _context.useTemplateVariable)(name);
30
- const kind = (ref = ctx.definition) === null || ref === void 0 ? void 0 : ref.kind;
37
+ const _constants = require("../../constants");
38
+ function variableOptionToVariableValue(options) {
39
+ if (options === null) {
40
+ return null;
41
+ }
42
+ if (Array.isArray(options)) {
43
+ return options.map((v)=>{
44
+ return v.value;
45
+ });
46
+ }
47
+ return options.value;
48
+ }
49
+ function TemplateVariable({ name , source }) {
50
+ var _ctx_definition;
51
+ const ctx = (0, _context.useTemplateVariable)(name, source);
52
+ const kind = (_ctx_definition = ctx.definition) === null || _ctx_definition === void 0 ? void 0 : _ctx_definition.kind;
31
53
  switch(kind){
32
54
  case 'TextVariable':
33
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(TextVariable, {
34
- name: name
55
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(TextVariable, {
56
+ name: name,
57
+ source: source
35
58
  });
36
59
  case 'ListVariable':
37
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(ListVariable, {
38
- name: name
60
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(ListVariable, {
61
+ name: name,
62
+ source: source
39
63
  });
40
64
  }
41
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)("div", {
65
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
42
66
  children: [
43
67
  "Unsupported Variable Kind: $",
44
68
  kind
45
69
  ]
46
70
  });
47
71
  }
48
- function ListVariable({ name }) {
49
- var ref, ref1, ref2, ref3;
50
- const ctx = (0, _context.useTemplateVariable)(name);
51
- const definition = ctx.definition;
52
- const variablesOptionsQuery = (0, _pluginSystem.useListVariablePluginValues)(definition);
53
- const { setVariableValue , setVariableLoading , setVariableOptions } = (0, _context.useTemplateVariableActions)();
54
- const allowMultiple = (definition === null || definition === void 0 ? void 0 : definition.spec.allow_multiple) === true;
55
- const allowAllValue = (definition === null || definition === void 0 ? void 0 : definition.spec.allow_all_value) === true;
56
- var ref4;
57
- const title = (ref4 = (ref = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || ref === void 0 ? void 0 : ref.name) !== null && ref4 !== void 0 ? ref4 : name;
58
- (0, _react.useEffect)(()=>{
59
- setVariableLoading(name, variablesOptionsQuery.isFetching);
60
- if (variablesOptionsQuery.data) {
61
- setVariableOptions(name, variablesOptionsQuery.data);
62
- }
63
- }, [
64
- variablesOptionsQuery,
65
- name,
66
- setVariableLoading,
67
- setVariableOptions
72
+ function useListVariableState(spec, state, variablesOptionsQuery) {
73
+ const allowMultiple = (spec === null || spec === void 0 ? void 0 : spec.allowMultiple) === true;
74
+ const allowAllValue = (spec === null || spec === void 0 ? void 0 : spec.allowAllValue) === true;
75
+ const sort = spec === null || spec === void 0 ? void 0 : spec.sort;
76
+ const loading = (0, _react.useMemo)(()=>variablesOptionsQuery.isFetching || false, [
77
+ variablesOptionsQuery
68
78
  ]);
69
- let value = (ref1 = ctx.state) === null || ref1 === void 0 ? void 0 : ref1.value;
70
- const options = (ref2 = ctx.state) === null || ref2 === void 0 ? void 0 : ref2.options;
71
- const loading = (ref3 = ctx.state) === null || ref3 === void 0 ? void 0 : ref3.loading;
79
+ const options = variablesOptionsQuery.data;
80
+ let value = state === null || state === void 0 ? void 0 : state.value;
72
81
  // Make sure value is an array if allowMultiple is true
73
82
  if (allowMultiple && !Array.isArray(value)) {
74
83
  value = typeof value === 'string' ? [
75
84
  value
76
85
  ] : [];
77
86
  }
78
- const finalOptions = (0, _react.useMemo)(()=>{
79
- let computedOptions = options ? [
87
+ // Sort the provided list of options according to the method defined
88
+ const sortedOptions = (0, _react.useMemo)(()=>{
89
+ const opts = options ? [
80
90
  ...options
81
91
  ] : [];
92
+ if (!sort || sort === 'none') return opts;
93
+ switch(sort){
94
+ case 'alphabetical-asc':
95
+ return opts.sort((a, b)=>a.label > b.label ? 1 : -1);
96
+ case 'alphabetical-desc':
97
+ return opts.sort((a, b)=>a.label > b.label ? -1 : 1);
98
+ case 'numerical-asc':
99
+ return opts.sort((a, b)=>parseInt(a.label) > parseInt(b.label) ? 1 : -1);
100
+ case 'numerical-desc':
101
+ return opts.sort((a, b)=>parseInt(a.label) < parseInt(b.label) ? 1 : -1);
102
+ case 'alphabetical-ci-asc':
103
+ return opts.sort((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? 1 : -1);
104
+ case 'alphabetical-ci-desc':
105
+ return opts.sort((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? -1 : 1);
106
+ default:
107
+ return opts;
108
+ }
109
+ }, [
110
+ options,
111
+ sort
112
+ ]);
113
+ const viewOptions = (0, _react.useMemo)(()=>{
114
+ let computedOptions = sortedOptions;
82
115
  // Add the all value if it's allowed
83
116
  if (allowAllValue) {
84
117
  computedOptions = [
@@ -91,104 +124,220 @@ function ListVariable({ name }) {
91
124
  }
92
125
  return computedOptions;
93
126
  }, [
94
- options,
95
- allowAllValue
127
+ allowAllValue,
128
+ sortedOptions
96
129
  ]);
97
- const valueIsInOptions = (0, _react.useMemo)(()=>Boolean(finalOptions.find((v)=>{
130
+ const valueIsInOptions = (0, _react.useMemo)(()=>Boolean(viewOptions.find((v)=>{
98
131
  if (allowMultiple) {
99
132
  return value.includes(v.value);
100
133
  }
101
134
  return value === v.value;
102
135
  })), [
103
- finalOptions,
136
+ viewOptions,
104
137
  value,
105
138
  allowMultiple
106
139
  ]);
107
- let selectValue = value;
108
- if (!valueIsInOptions) {
109
- selectValue = allowMultiple ? [] : '';
140
+ value = (0, _react.useMemo)(()=>{
141
+ var _viewOptions_;
142
+ const firstOptionValue = viewOptions === null || viewOptions === void 0 ? void 0 : (_viewOptions_ = viewOptions[allowAllValue ? 1 : 0]) === null || _viewOptions_ === void 0 ? void 0 : _viewOptions_.value;
143
+ // If there is no value but there are options, or the value is not in options, we set the value to the first option.
144
+ if (firstOptionValue) {
145
+ if (!valueIsInOptions || !value || value.length === 0) {
146
+ return allowMultiple ? [
147
+ firstOptionValue
148
+ ] : firstOptionValue;
149
+ }
150
+ }
151
+ return value;
152
+ }, [
153
+ viewOptions,
154
+ value,
155
+ valueIsInOptions,
156
+ allowMultiple,
157
+ allowAllValue
158
+ ]);
159
+ const selectedOptions = (0, _react.useMemo)(()=>{
160
+ // In the case Autocomplete.multiple equals false, Autocomplete.value expects a single object, not
161
+ // an array, hence this conditional
162
+ if (Array.isArray(value)) {
163
+ return viewOptions.filter((o)=>{
164
+ return value === null || value === void 0 ? void 0 : value.includes(o.value);
165
+ });
166
+ } else {
167
+ var _viewOptions_find;
168
+ return (_viewOptions_find = viewOptions.find((o)=>{
169
+ return value === o.value;
170
+ })) !== null && _viewOptions_find !== void 0 ? _viewOptions_find : {
171
+ value: '',
172
+ label: ''
173
+ };
174
+ }
175
+ }, [
176
+ value,
177
+ viewOptions
178
+ ]);
179
+ return {
180
+ value,
181
+ loading,
182
+ options,
183
+ selectedOptions,
184
+ viewOptions
185
+ };
186
+ }
187
+ const StyledPopper = (props)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Popper, {
188
+ ...props,
189
+ sx: {
190
+ minWidth: 'fit-content'
191
+ },
192
+ placement: "bottom-start"
193
+ });
194
+ const LETTER_HSIZE = 8; // approximation
195
+ const ARROW_OFFSET = 40; // right offset for list variables (= take into account the dropdown toggle size)
196
+ const getWidthPx = (inputValue, kind)=>{
197
+ const width = (inputValue.length + 1) * LETTER_HSIZE + (kind == 'list' ? ARROW_OFFSET : 0);
198
+ if (width < _constants.MIN_TEMPLATE_VARIABLE_WIDTH) {
199
+ return _constants.MIN_TEMPLATE_VARIABLE_WIDTH;
200
+ } else if (width > _constants.MAX_TEMPLATE_VARIABLE_WIDTH) {
201
+ return _constants.MAX_TEMPLATE_VARIABLE_WIDTH;
202
+ } else {
203
+ return width;
110
204
  }
205
+ };
206
+ function ListVariable({ name , source }) {
207
+ var _definition_spec_display;
208
+ const ctx = (0, _context.useTemplateVariable)(name, source);
209
+ const definition = ctx.definition;
210
+ const variablesOptionsQuery = (0, _pluginsystem.useListVariablePluginValues)(definition);
211
+ const { setVariableValue , setVariableLoading , setVariableOptions } = (0, _context.useTemplateVariableActions)();
212
+ const { selectedOptions , value , loading , options , viewOptions } = useListVariableState(definition === null || definition === void 0 ? void 0 : definition.spec, ctx.state, variablesOptionsQuery);
213
+ const [inputValue, setInputValue] = (0, _react.useState)('');
214
+ const [inputWidth, setInputWidth] = (0, _react.useState)(_constants.MIN_TEMPLATE_VARIABLE_WIDTH);
215
+ var _definition_spec_display_name;
216
+ const title = (_definition_spec_display_name = (_definition_spec_display = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || _definition_spec_display === void 0 ? void 0 : _definition_spec_display.name) !== null && _definition_spec_display_name !== void 0 ? _definition_spec_display_name : name;
217
+ const allowMultiple = (definition === null || definition === void 0 ? void 0 : definition.spec.allowMultiple) === true;
218
+ const allowAllValue = (definition === null || definition === void 0 ? void 0 : definition.spec.allowAllValue) === true;
219
+ // Update value when changed
111
220
  (0, _react.useEffect)(()=>{
112
- const firstOption = finalOptions === null || finalOptions === void 0 ? void 0 : finalOptions[0];
113
- // If there is no value but there are options, set the value to the first option.
114
- if (!value && firstOption) {
115
- setVariableValue(name, firstOption.value);
221
+ if (value) {
222
+ setVariableValue(name, value, source);
116
223
  }
117
224
  }, [
118
- finalOptions,
119
225
  setVariableValue,
226
+ name,
120
227
  value,
228
+ source
229
+ ]);
230
+ // Update loading when changed
231
+ (0, _react.useEffect)(()=>{
232
+ setVariableLoading(name, loading, source);
233
+ }, [
234
+ setVariableLoading,
121
235
  name,
122
- allowMultiple
236
+ loading,
237
+ source
123
238
  ]);
124
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
125
- display: 'flex',
126
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.FormControl, {
127
- fullWidth: true,
128
- children: [
129
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.InputLabel, {
130
- id: name,
131
- children: title
132
- }),
133
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Select, {
134
- sx: {
135
- minWidth: 100,
136
- maxWidth: 250
137
- },
138
- id: name,
139
- label: title,
140
- value: selectValue,
141
- onChange: (e)=>{
142
- // Must be selected
143
- if (e.target.value === null || e.target.value.length === 0) {
144
- if (allowAllValue) {
145
- setVariableValue(name, _core.DEFAULT_ALL_VALUE);
146
- }
147
- return;
239
+ // Update options when changed
240
+ (0, _react.useEffect)(()=>{
241
+ if (options) {
242
+ setVariableOptions(name, options, source);
243
+ }
244
+ }, [
245
+ setVariableOptions,
246
+ name,
247
+ options,
248
+ source
249
+ ]);
250
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
251
+ children: [
252
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Autocomplete, {
253
+ disablePortal: true,
254
+ disableCloseOnSelect: allowMultiple,
255
+ multiple: allowMultiple,
256
+ fullWidth: true,
257
+ limitTags: 3,
258
+ size: "small",
259
+ disableClearable: true,
260
+ PopperComponent: StyledPopper,
261
+ renderInput: (params)=>{
262
+ return allowMultiple ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
263
+ ...params,
264
+ label: title
265
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
266
+ ...params,
267
+ label: title,
268
+ style: {
269
+ width: `${inputWidth}px`
148
270
  }
149
- setVariableValue(name, e.target.value);
271
+ });
272
+ },
273
+ sx: {
274
+ '& .MuiInputBase-root': {
275
+ minHeight: '38px'
150
276
  },
151
- multiple: allowMultiple,
152
- children: [
153
- loading && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
154
- value: "loading",
155
- disabled: true,
156
- children: "Loading"
157
- }),
158
- finalOptions.length === 0 && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
159
- value: "empty",
160
- disabled: true,
161
- children: "No options"
162
- }),
163
- finalOptions.map((option)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.MenuItem, {
164
- value: option.value,
165
- children: option.label
166
- }, option.value))
167
- ]
168
- }),
169
- loading && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.LinearProgress, {})
170
- ]
171
- })
277
+ '& .MuiInputBase-root.MuiOutlinedInput-root.MuiInputBase-sizeSmall': {
278
+ paddingY: '5px',
279
+ paddingLeft: '5px'
280
+ }
281
+ },
282
+ value: selectedOptions,
283
+ onChange: (_, value)=>{
284
+ if ((value === null || Array.isArray(value) && value.length === 0) && allowAllValue) {
285
+ setVariableValue(name, _core.DEFAULT_ALL_VALUE, source);
286
+ } else {
287
+ setVariableValue(name, variableOptionToVariableValue(value), source);
288
+ }
289
+ },
290
+ inputValue: inputValue,
291
+ onInputChange: (_, newInputValue)=>{
292
+ setInputValue(newInputValue);
293
+ if (!allowMultiple) {
294
+ setInputWidth(getWidthPx(newInputValue, 'list'));
295
+ }
296
+ },
297
+ options: viewOptions
298
+ }),
299
+ loading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.LinearProgress, {})
300
+ ]
172
301
  });
173
302
  }
174
- function TextVariable({ name }) {
175
- var ref;
176
- const { state , definition } = (0, _context.useTemplateVariable)(name);
177
- var ref1;
178
- const [tempValue, setTempValue] = (0, _react.useState)((ref1 = state === null || state === void 0 ? void 0 : state.value) !== null && ref1 !== void 0 ? ref1 : '');
303
+ function TextVariable({ name , source }) {
304
+ var _definition_spec_display;
305
+ const ctx = (0, _context.useTemplateVariable)(name, source);
306
+ const state = ctx.state;
307
+ const definition = ctx.definition;
308
+ var _state_value;
309
+ const [tempValue, setTempValue] = (0, _react.useState)((_state_value = state === null || state === void 0 ? void 0 : state.value) !== null && _state_value !== void 0 ? _state_value : '');
310
+ const [inputWidth, setInputWidth] = (0, _react.useState)(getWidthPx(tempValue, 'text'));
179
311
  const { setVariableValue } = (0, _context.useTemplateVariableActions)();
180
312
  (0, _react.useEffect)(()=>{
181
- var ref;
182
- setTempValue((ref = state === null || state === void 0 ? void 0 : state.value) !== null && ref !== void 0 ? ref : '');
313
+ var _state_value;
314
+ setTempValue((_state_value = state === null || state === void 0 ? void 0 : state.value) !== null && _state_value !== void 0 ? _state_value : '');
183
315
  }, [
184
316
  state === null || state === void 0 ? void 0 : state.value
185
317
  ]);
186
- var ref2;
187
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TextField, {
318
+ var _definition_spec_display_name, _definition_spec_constant;
319
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
320
+ title: tempValue,
188
321
  value: tempValue,
189
- onChange: (e)=>setTempValue(e.target.value),
190
- onBlur: ()=>setVariableValue(name, tempValue),
322
+ //onChange={(e) => setTempValue(e.target.value)}
323
+ onChange: (e)=>{
324
+ setTempValue(e.target.value);
325
+ setInputWidth(getWidthPx(e.target.value, 'text'));
326
+ },
327
+ onBlur: ()=>setVariableValue(name, tempValue, source),
191
328
  placeholder: name,
192
- label: (ref2 = (ref = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || ref === void 0 ? void 0 : ref.name) !== null && ref2 !== void 0 ? ref2 : name
329
+ label: (_definition_spec_display_name = (_definition_spec_display = definition === null || definition === void 0 ? void 0 : definition.spec.display) === null || _definition_spec_display === void 0 ? void 0 : _definition_spec_display.name) !== null && _definition_spec_display_name !== void 0 ? _definition_spec_display_name : name,
330
+ InputProps: {
331
+ readOnly: (_definition_spec_constant = definition === null || definition === void 0 ? void 0 : definition.spec.constant) !== null && _definition_spec_constant !== void 0 ? _definition_spec_constant : false
332
+ },
333
+ sx: {
334
+ width: `${inputWidth}px`,
335
+ '& .MuiInputBase-root': {
336
+ minHeight: '38px'
337
+ },
338
+ '& .MuiInputBase-input': {
339
+ textOverflow: 'ellipsis'
340
+ }
341
+ }
193
342
  });
194
343
  }