@perses-dev/dashboards 0.0.0-snapshot-panel-extra-content-3-17f9c42 → 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 (336) 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 -14
  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 +18 -22
  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 +8 -8
  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 +17 -15
  59. package/dist/cjs/components/Variables/TemplateVariable.js +250 -105
  60. package/dist/cjs/components/Variables/VariableEditor.js +280 -204
  61. package/dist/cjs/components/Variables/VariableList.js +23 -21
  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 +141 -34
  84. package/dist/cjs/context/TemplateVariableProvider/hydrationUtils.js +12 -10
  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 +15 -7
  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 +63 -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 -10
  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.map +1 -1
  173. package/dist/components/Panel/Panel.js +5 -11
  174. package/dist/components/Panel/Panel.js.map +1 -1
  175. package/dist/components/Panel/PanelContent.d.ts +2 -1
  176. package/dist/components/Panel/PanelContent.d.ts.map +1 -1
  177. package/dist/components/Panel/PanelContent.js +3 -2
  178. package/dist/components/Panel/PanelContent.js.map +1 -1
  179. package/dist/components/Panel/PanelHeader.js.map +1 -1
  180. package/dist/components/Panel/index.js.map +1 -1
  181. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  182. package/dist/components/PanelDrawer/PanelDrawer.js +22 -76
  183. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
  184. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +4 -1
  185. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  186. package/dist/components/PanelDrawer/PanelEditorForm.js +225 -139
  187. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  188. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  189. package/dist/components/PanelDrawer/PanelPreview.js +2 -2
  190. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  191. package/dist/components/PanelDrawer/index.d.ts +1 -0
  192. package/dist/components/PanelDrawer/index.d.ts.map +1 -1
  193. package/dist/components/PanelDrawer/index.js +1 -0
  194. package/dist/components/PanelDrawer/index.js.map +1 -1
  195. package/dist/components/PanelDrawer/usePanelEditor.js.map +1 -1
  196. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
  197. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -1
  198. package/dist/components/PanelGroupDialog/index.js.map +1 -1
  199. package/dist/components/QuerySummaryTable/QuerySummaryTable.js +6 -6
  200. package/dist/components/QuerySummaryTable/QuerySummaryTable.js.map +1 -1
  201. package/dist/components/QuerySummaryTable/index.js.map +1 -1
  202. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +4 -4
  203. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js.map +1 -1
  204. package/dist/components/SaveChangesConfirmationDialog/index.js.map +1 -1
  205. package/dist/components/SaveDashboardButton/SaveDashboardButton.d.ts.map +1 -1
  206. package/dist/components/SaveDashboardButton/SaveDashboardButton.js +1 -3
  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 +5 -5
  221. package/dist/components/Variables/EditVariablesButton.js.map +1 -1
  222. package/dist/components/Variables/TemplateVariable.d.ts +10 -1
  223. package/dist/components/Variables/TemplateVariable.d.ts.map +1 -1
  224. package/dist/components/Variables/TemplateVariable.js +233 -98
  225. package/dist/components/Variables/TemplateVariable.js.map +1 -1
  226. package/dist/components/Variables/VariableEditor.d.ts +2 -1
  227. package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
  228. package/dist/components/Variables/VariableEditor.js +229 -157
  229. package/dist/components/Variables/VariableEditor.js.map +1 -1
  230. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  231. package/dist/components/Variables/VariableList.js +10 -12
  232. package/dist/components/Variables/VariableList.js.map +1 -1
  233. package/dist/components/Variables/index.d.ts +1 -0
  234. package/dist/components/Variables/index.d.ts.map +1 -1
  235. package/dist/components/Variables/index.js +1 -0
  236. package/dist/components/Variables/index.js.map +1 -1
  237. package/dist/components/index.d.ts +1 -0
  238. package/dist/components/index.d.ts.map +1 -1
  239. package/dist/components/index.js +1 -0
  240. package/dist/components/index.js.map +1 -1
  241. package/dist/constants/grid-layout-config.js.map +1 -1
  242. package/dist/constants/index.d.ts +1 -0
  243. package/dist/constants/index.d.ts.map +1 -1
  244. package/dist/constants/index.js +1 -0
  245. package/dist/constants/index.js.map +1 -1
  246. package/dist/constants/styles.d.ts +5 -0
  247. package/dist/constants/styles.d.ts.map +1 -0
  248. package/dist/constants/styles.js +23 -0
  249. package/dist/constants/styles.js.map +1 -0
  250. package/dist/constants/user-interface-text.d.ts +3 -0
  251. package/dist/constants/user-interface-text.d.ts.map +1 -1
  252. package/dist/constants/user-interface-text.js +3 -0
  253. package/dist/constants/user-interface-text.js.map +1 -1
  254. package/dist/context/DashboardProvider/DashboardProvider.d.ts +2 -1
  255. package/dist/context/DashboardProvider/DashboardProvider.d.ts.map +1 -1
  256. package/dist/context/DashboardProvider/DashboardProvider.js +8 -6
  257. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
  258. package/dist/context/DashboardProvider/common.js.map +1 -1
  259. package/dist/context/DashboardProvider/dashboard-provider-api.js +2 -2
  260. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
  261. package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -1
  262. package/dist/context/DashboardProvider/delete-panel-slice.js +2 -2
  263. package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -1
  264. package/dist/context/DashboardProvider/discard-changes-dialog-slice.js.map +1 -1
  265. package/dist/context/DashboardProvider/duplicate-panel-slice.js.map +1 -1
  266. package/dist/context/DashboardProvider/edit-json-dialog-slice.js.map +1 -1
  267. package/dist/context/DashboardProvider/index.js.map +1 -1
  268. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +2 -2
  269. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
  270. package/dist/context/DashboardProvider/panel-editor-slice.js +7 -7
  271. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
  272. package/dist/context/DashboardProvider/panel-group-editor-slice.js +2 -2
  273. package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -1
  274. package/dist/context/DashboardProvider/panel-group-slice.js +3 -3
  275. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
  276. package/dist/context/DashboardProvider/panel-slice.js.map +1 -1
  277. package/dist/context/DashboardProvider/save-changes-dialog-slice.js.map +1 -1
  278. package/dist/context/DatasourceStoreProvider.d.ts +15 -10
  279. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  280. package/dist/context/DatasourceStoreProvider.js +161 -42
  281. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  282. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts +11 -4
  283. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts.map +1 -1
  284. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +106 -18
  285. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
  286. package/dist/context/TemplateVariableProvider/hydrationUtils.js +7 -7
  287. package/dist/context/TemplateVariableProvider/hydrationUtils.js.map +1 -1
  288. package/dist/context/TemplateVariableProvider/index.js.map +1 -1
  289. package/dist/context/TemplateVariableProvider/query-params.js.map +1 -1
  290. package/dist/context/TemplateVariableProvider/utils.js +3 -3
  291. package/dist/context/TemplateVariableProvider/utils.js.map +1 -1
  292. package/dist/context/index.js.map +1 -1
  293. package/dist/context/useDashboard.d.ts.map +1 -1
  294. package/dist/context/useDashboard.js +5 -3
  295. package/dist/context/useDashboard.js.map +1 -1
  296. package/dist/index.js.map +1 -1
  297. package/dist/stories/decorators/WithDashboard.js.map +1 -1
  298. package/dist/stories/decorators/WithDatasourceStore.js.map +1 -1
  299. package/dist/stories/decorators/WithTemplateVariables.js.map +1 -1
  300. package/dist/stories/decorators/constants.js +2 -2
  301. package/dist/stories/decorators/constants.js.map +1 -1
  302. package/dist/stories/decorators/index.js.map +1 -1
  303. package/dist/test/dashboard-provider.js.map +1 -1
  304. package/dist/test/datasource-provider.d.ts.map +1 -1
  305. package/dist/test/datasource-provider.js +5 -7
  306. package/dist/test/datasource-provider.js.map +1 -1
  307. package/dist/test/index.js.map +1 -1
  308. package/dist/test/plugin-registry.js.map +1 -1
  309. package/dist/test/render.d.ts.map +1 -1
  310. package/dist/test/render.js +8 -3
  311. package/dist/test/render.js.map +1 -1
  312. package/dist/test/setup-tests.js.map +1 -1
  313. package/dist/test/testDashboard.js +10 -10
  314. package/dist/test/testDashboard.js.map +1 -1
  315. package/dist/utils/index.js.map +1 -1
  316. package/dist/utils/panelUtils.js.map +1 -1
  317. package/dist/utils/time.js.map +1 -1
  318. package/dist/validation/index.d.ts +2 -0
  319. package/dist/validation/index.d.ts.map +1 -0
  320. package/dist/validation/index.js +15 -0
  321. package/dist/validation/index.js.map +1 -0
  322. package/dist/validation/panel.d.ts +19 -0
  323. package/dist/validation/panel.d.ts.map +1 -0
  324. package/dist/validation/panel.js +21 -0
  325. package/dist/validation/panel.js.map +1 -0
  326. package/dist/views/ViewDashboard/DashboardApp.d.ts +1 -0
  327. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  328. package/dist/views/ViewDashboard/DashboardApp.js +17 -5
  329. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  330. package/dist/views/ViewDashboard/ViewDashboard.d.ts +1 -0
  331. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  332. package/dist/views/ViewDashboard/ViewDashboard.js +52 -11
  333. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  334. package/dist/views/ViewDashboard/index.js.map +1 -1
  335. package/dist/views/index.js.map +1 -1
  336. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardApp.d.ts","sourceRoot":"","sources":["../../../src/views/ViewDashboard/DashboardApp.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAQL,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAkE,MAAM,eAAe,CAAC;AAEhH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,uBAAuB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB,gBAwFpD,CAAC"}
1
+ {"version":3,"file":"DashboardApp.d.ts","sourceRoot":"","sources":["../../../src/views/ViewDashboard/DashboardApp.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAQL,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAkE,MAAM,eAAe,CAAC;AAEhH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,uBAAuB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB,gBAgGpD,CAAC"}
@@ -13,14 +13,17 @@
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { useState } from 'react';
15
15
  import { Box } from '@mui/material';
16
- import { ErrorAlert, ErrorBoundary } from '@perses-dev/components';
16
+ import { ChartsProvider, ErrorAlert, ErrorBoundary, useChartsTheme } from '@perses-dev/components';
17
+ import { useDatasourceStore } from '@perses-dev/plugin-system';
17
18
  import { PanelDrawer, Dashboard, PanelGroupDialog, DeletePanelGroupDialog, DashboardDiscardChangesConfirmationDialog, DashboardToolbar, DeletePanelDialog, EditJsonDialog, SaveChangesConfirmationDialog } from '../../components';
18
19
  import { useDashboard, useDiscardChangesConfirmationDialog, useEditMode } from '../../context';
19
20
  export const DashboardApp = (props)=>{
20
- const { dashboardResource , dashboardTitleComponent , emptyDashboardProps , onSave , onDiscard , initialVariableIsSticky , isReadonly , } = props;
21
- const { setEditMode } = useEditMode();
21
+ const { dashboardResource , dashboardTitleComponent , emptyDashboardProps , onSave , onDiscard , initialVariableIsSticky , isReadonly , isCreating } = props;
22
+ const chartsTheme = useChartsTheme();
23
+ const { isEditMode , setEditMode } = useEditMode();
22
24
  const { dashboard , setDashboard } = useDashboard();
23
25
  const [originalDashboard, setOriginalDashboard] = useState(undefined);
26
+ const { setSavedDatasources } = useDatasourceStore();
24
27
  const { openDiscardChangesConfirmationDialog , closeDiscardChangesConfirmationDialog } = useDiscardChangesConfirmationDialog();
25
28
  const handleDiscardChanges = ()=>{
26
29
  // Reset to the original spec and exit edit mode
@@ -36,6 +39,8 @@ export const DashboardApp = (props)=>{
36
39
  const onEditButtonClick = ()=>{
37
40
  setEditMode(true);
38
41
  setOriginalDashboard(dashboard);
42
+ var _dashboard_spec_datasources;
43
+ setSavedDatasources((_dashboard_spec_datasources = dashboard.spec.datasources) !== null && _dashboard_spec_datasources !== void 0 ? _dashboard_spec_datasources : {});
39
44
  };
40
45
  const onCancelButtonClick = ()=>{
41
46
  // check if dashboard has been modified
@@ -85,12 +90,19 @@ export const DashboardApp = (props)=>{
85
90
  }
86
91
  })
87
92
  }),
88
- /*#__PURE__*/ _jsx(PanelDrawer, {}),
93
+ /*#__PURE__*/ _jsx(ChartsProvider, {
94
+ chartsTheme: chartsTheme,
95
+ enablePinning: false,
96
+ children: /*#__PURE__*/ _jsx(PanelDrawer, {})
97
+ }),
89
98
  /*#__PURE__*/ _jsx(PanelGroupDialog, {}),
90
99
  /*#__PURE__*/ _jsx(DeletePanelGroupDialog, {}),
91
100
  /*#__PURE__*/ _jsx(DeletePanelDialog, {}),
92
101
  /*#__PURE__*/ _jsx(DashboardDiscardChangesConfirmationDialog, {}),
93
- /*#__PURE__*/ _jsx(EditJsonDialog, {}),
102
+ /*#__PURE__*/ _jsx(EditJsonDialog, {
103
+ isReadonly: !isEditMode,
104
+ disableMetadataEdition: !isCreating
105
+ }),
94
106
  /*#__PURE__*/ _jsx(SaveChangesConfirmationDialog, {})
95
107
  ]
96
108
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/ViewDashboard/DashboardApp.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useState } from 'react';\nimport { Box } from '@mui/material';\nimport { ErrorAlert, ErrorBoundary } from '@perses-dev/components';\nimport { DashboardResource } from '@perses-dev/core';\nimport {\n PanelDrawer,\n Dashboard,\n PanelGroupDialog,\n DeletePanelGroupDialog,\n DashboardDiscardChangesConfirmationDialog,\n DashboardToolbar,\n DeletePanelDialog,\n EmptyDashboardProps,\n EditJsonDialog,\n SaveChangesConfirmationDialog,\n} from '../../components';\nimport { OnSaveDashboard, useDashboard, useDiscardChangesConfirmationDialog, useEditMode } from '../../context';\n\nexport interface DashboardAppProps {\n emptyDashboardProps?: Partial<EmptyDashboardProps>;\n dashboardResource: DashboardResource;\n dashboardTitleComponent?: JSX.Element;\n onSave?: OnSaveDashboard;\n onDiscard?: (entity: DashboardResource) => void;\n initialVariableIsSticky?: boolean;\n isReadonly: boolean;\n}\n\nexport const DashboardApp = (props: DashboardAppProps) => {\n const {\n dashboardResource,\n dashboardTitleComponent,\n emptyDashboardProps,\n onSave,\n onDiscard,\n initialVariableIsSticky,\n isReadonly,\n } = props;\n const { setEditMode } = useEditMode();\n const { dashboard, setDashboard } = useDashboard();\n const [originalDashboard, setOriginalDashboard] = useState<DashboardResource | undefined>(undefined);\n\n const { openDiscardChangesConfirmationDialog, closeDiscardChangesConfirmationDialog } =\n useDiscardChangesConfirmationDialog();\n\n const handleDiscardChanges = () => {\n // Reset to the original spec and exit edit mode\n if (originalDashboard) {\n setDashboard(originalDashboard);\n }\n setEditMode(false);\n closeDiscardChangesConfirmationDialog();\n if (onDiscard) {\n onDiscard(dashboard);\n }\n };\n\n const onEditButtonClick = () => {\n setEditMode(true);\n setOriginalDashboard(dashboard);\n };\n\n const onCancelButtonClick = () => {\n // check if dashboard has been modified\n if (JSON.stringify(dashboard) === JSON.stringify(originalDashboard)) {\n setEditMode(false);\n } else {\n openDiscardChangesConfirmationDialog({\n onDiscardChanges: () => {\n handleDiscardChanges();\n },\n onCancel: () => {\n closeDiscardChangesConfirmationDialog();\n },\n });\n }\n };\n\n return (\n <Box\n sx={{\n flexGrow: 1,\n overflowX: 'hidden',\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <DashboardToolbar\n dashboardName={dashboardResource.metadata.name}\n dashboardTitleComponent={dashboardTitleComponent}\n initialVariableIsSticky={initialVariableIsSticky}\n onSave={onSave}\n isReadonly={isReadonly}\n onEditButtonClick={onEditButtonClick}\n onCancelButtonClick={onCancelButtonClick}\n />\n <Box sx={{ padding: (theme) => theme.spacing(2), height: '100%' }}>\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <Dashboard\n emptyDashboardProps={{\n onEditButtonClick,\n ...emptyDashboardProps,\n }}\n />\n </ErrorBoundary>\n <PanelDrawer />\n <PanelGroupDialog />\n <DeletePanelGroupDialog />\n <DeletePanelDialog />\n <DashboardDiscardChangesConfirmationDialog />\n <EditJsonDialog />\n <SaveChangesConfirmationDialog />\n </Box>\n </Box>\n );\n};\n"],"names":["useState","Box","ErrorAlert","ErrorBoundary","PanelDrawer","Dashboard","PanelGroupDialog","DeletePanelGroupDialog","DashboardDiscardChangesConfirmationDialog","DashboardToolbar","DeletePanelDialog","EditJsonDialog","SaveChangesConfirmationDialog","useDashboard","useDiscardChangesConfirmationDialog","useEditMode","DashboardApp","props","dashboardResource","dashboardTitleComponent","emptyDashboardProps","onSave","onDiscard","initialVariableIsSticky","isReadonly","setEditMode","dashboard","setDashboard","originalDashboard","setOriginalDashboard","undefined","openDiscardChangesConfirmationDialog","closeDiscardChangesConfirmationDialog","handleDiscardChanges","onEditButtonClick","onCancelButtonClick","JSON","stringify","onDiscardChanges","onCancel","sx","flexGrow","overflowX","overflowY","display","flexDirection","dashboardName","metadata","name","padding","theme","spacing","height","FallbackComponent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/ViewDashboard/DashboardApp.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { useState } from 'react';\nimport { Box } from '@mui/material';\nimport { ChartsProvider, ErrorAlert, ErrorBoundary, useChartsTheme } from '@perses-dev/components';\nimport { DashboardResource } from '@perses-dev/core';\nimport { useDatasourceStore } from '@perses-dev/plugin-system';\nimport {\n PanelDrawer,\n Dashboard,\n PanelGroupDialog,\n DeletePanelGroupDialog,\n DashboardDiscardChangesConfirmationDialog,\n DashboardToolbar,\n DeletePanelDialog,\n EmptyDashboardProps,\n EditJsonDialog,\n SaveChangesConfirmationDialog,\n} from '../../components';\nimport { OnSaveDashboard, useDashboard, useDiscardChangesConfirmationDialog, useEditMode } from '../../context';\n\nexport interface DashboardAppProps {\n emptyDashboardProps?: Partial<EmptyDashboardProps>;\n dashboardResource: DashboardResource;\n dashboardTitleComponent?: JSX.Element;\n onSave?: OnSaveDashboard;\n onDiscard?: (entity: DashboardResource) => void;\n initialVariableIsSticky?: boolean;\n isReadonly: boolean;\n isCreating?: boolean;\n}\n\nexport const DashboardApp = (props: DashboardAppProps) => {\n const {\n dashboardResource,\n dashboardTitleComponent,\n emptyDashboardProps,\n onSave,\n onDiscard,\n initialVariableIsSticky,\n isReadonly,\n isCreating,\n } = props;\n\n const chartsTheme = useChartsTheme();\n\n const { isEditMode, setEditMode } = useEditMode();\n const { dashboard, setDashboard } = useDashboard();\n const [originalDashboard, setOriginalDashboard] = useState<DashboardResource | undefined>(undefined);\n const { setSavedDatasources } = useDatasourceStore();\n\n const { openDiscardChangesConfirmationDialog, closeDiscardChangesConfirmationDialog } =\n useDiscardChangesConfirmationDialog();\n\n const handleDiscardChanges = () => {\n // Reset to the original spec and exit edit mode\n if (originalDashboard) {\n setDashboard(originalDashboard);\n }\n setEditMode(false);\n closeDiscardChangesConfirmationDialog();\n if (onDiscard) {\n onDiscard(dashboard);\n }\n };\n\n const onEditButtonClick = () => {\n setEditMode(true);\n setOriginalDashboard(dashboard);\n setSavedDatasources(dashboard.spec.datasources ?? {});\n };\n\n const onCancelButtonClick = () => {\n // check if dashboard has been modified\n if (JSON.stringify(dashboard) === JSON.stringify(originalDashboard)) {\n setEditMode(false);\n } else {\n openDiscardChangesConfirmationDialog({\n onDiscardChanges: () => {\n handleDiscardChanges();\n },\n onCancel: () => {\n closeDiscardChangesConfirmationDialog();\n },\n });\n }\n };\n\n return (\n <Box\n sx={{\n flexGrow: 1,\n overflowX: 'hidden',\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <DashboardToolbar\n dashboardName={dashboardResource.metadata.name}\n dashboardTitleComponent={dashboardTitleComponent}\n initialVariableIsSticky={initialVariableIsSticky}\n onSave={onSave}\n isReadonly={isReadonly}\n onEditButtonClick={onEditButtonClick}\n onCancelButtonClick={onCancelButtonClick}\n />\n <Box sx={{ padding: (theme) => theme.spacing(2), height: '100%' }}>\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <Dashboard\n emptyDashboardProps={{\n onEditButtonClick,\n ...emptyDashboardProps,\n }}\n />\n </ErrorBoundary>\n <ChartsProvider chartsTheme={chartsTheme} enablePinning={false}>\n <PanelDrawer />\n </ChartsProvider>\n <PanelGroupDialog />\n <DeletePanelGroupDialog />\n <DeletePanelDialog />\n <DashboardDiscardChangesConfirmationDialog />\n <EditJsonDialog isReadonly={!isEditMode} disableMetadataEdition={!isCreating} />\n <SaveChangesConfirmationDialog />\n </Box>\n </Box>\n );\n};\n"],"names":["useState","Box","ChartsProvider","ErrorAlert","ErrorBoundary","useChartsTheme","useDatasourceStore","PanelDrawer","Dashboard","PanelGroupDialog","DeletePanelGroupDialog","DashboardDiscardChangesConfirmationDialog","DashboardToolbar","DeletePanelDialog","EditJsonDialog","SaveChangesConfirmationDialog","useDashboard","useDiscardChangesConfirmationDialog","useEditMode","DashboardApp","props","dashboardResource","dashboardTitleComponent","emptyDashboardProps","onSave","onDiscard","initialVariableIsSticky","isReadonly","isCreating","chartsTheme","isEditMode","setEditMode","dashboard","setDashboard","originalDashboard","setOriginalDashboard","undefined","setSavedDatasources","openDiscardChangesConfirmationDialog","closeDiscardChangesConfirmationDialog","handleDiscardChanges","onEditButtonClick","spec","datasources","onCancelButtonClick","JSON","stringify","onDiscardChanges","onCancel","sx","flexGrow","overflowX","overflowY","display","flexDirection","dashboardName","metadata","name","padding","theme","spacing","height","FallbackComponent","enablePinning","disableMetadataEdition"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,QAAQ,QAAQ,QAAQ;AACjC,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SAASC,cAAc,EAAEC,UAAU,EAAEC,aAAa,EAAEC,cAAc,QAAQ,yBAAyB;AAEnG,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SACEC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,sBAAsB,EACtBC,yCAAyC,EACzCC,gBAAgB,EAChBC,iBAAiB,EAEjBC,cAAc,EACdC,6BAA6B,QACxB,mBAAmB;AAC1B,SAA0BC,YAAY,EAAEC,mCAAmC,EAAEC,WAAW,QAAQ,gBAAgB;AAahH,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAM,EACJC,kBAAiB,EACjBC,wBAAuB,EACvBC,oBAAmB,EACnBC,OAAM,EACNC,UAAS,EACTC,wBAAuB,EACvBC,WAAU,EACVC,WAAU,EACX,GAAGR;IAEJ,MAAMS,cAAcxB;IAEpB,MAAM,EAAEyB,WAAU,EAAEC,YAAW,EAAE,GAAGb;IACpC,MAAM,EAAEc,UAAS,EAAEC,aAAY,EAAE,GAAGjB;IACpC,MAAM,CAACkB,mBAAmBC,qBAAqB,GAAGnC,SAAwCoC;IAC1F,MAAM,EAAEC,oBAAmB,EAAE,GAAG/B;IAEhC,MAAM,EAAEgC,qCAAoC,EAAEC,sCAAqC,EAAE,GACnFtB;IAEF,MAAMuB,uBAAuB;QAC3B,gDAAgD;QAChD,IAAIN,mBAAmB;YACrBD,aAAaC;QACf;QACAH,YAAY;QACZQ;QACA,IAAId,WAAW;YACbA,UAAUO;QACZ;IACF;IAEA,MAAMS,oBAAoB;QACxBV,YAAY;QACZI,qBAAqBH;YACDA;QAApBK,oBAAoBL,CAAAA,8BAAAA,UAAUU,KAAKC,yBAAfX,yCAAAA,8BAA8B,CAAC;IACrD;IAEA,MAAMY,sBAAsB;QAC1B,uCAAuC;QACvC,IAAIC,KAAKC,UAAUd,eAAea,KAAKC,UAAUZ,oBAAoB;YACnEH,YAAY;QACd,OAAO;YACLO,qCAAqC;gBACnCS,kBAAkB;oBAChBP;gBACF;gBACAQ,UAAU;oBACRT;gBACF;YACF;QACF;IACF;IAEA,qBACE,MAACtC;QACCgD,IAAI;YACFC,UAAU;YACVC,WAAW;YACXC,WAAW;YACXC,SAAS;YACTC,eAAe;QACjB;;0BAEA,KAAC1C;gBACC2C,eAAelC,kBAAkBmC,SAASC;gBAC1CnC,yBAAyBA;gBACzBI,yBAAyBA;gBACzBF,QAAQA;gBACRG,YAAYA;gBACZc,mBAAmBA;gBACnBG,qBAAqBA;;0BAEvB,MAAC3C;gBAAIgD,IAAI;oBAAES,SAAS,CAACC,QAAUA,MAAMC,QAAQ;oBAAIC,QAAQ;gBAAO;;kCAC9D,KAACzD;wBAAc0D,mBAAmB3D;kCAChC,cAAA,KAACK;4BACCe,qBAAqB;gCACnBkB;gCACA,GAAGlB,mBAAmB;4BACxB;;;kCAGJ,KAACrB;wBAAe2B,aAAaA;wBAAakC,eAAe;kCACvD,cAAA,KAACxD;;kCAEH,KAACE;kCACD,KAACC;kCACD,KAACG;kCACD,KAACF;kCACD,KAACG;wBAAea,YAAY,CAACG;wBAAYkC,wBAAwB,CAACpC;;kCAClE,KAACb;;;;;AAIT,EAAE"}
@@ -6,6 +6,7 @@ export interface ViewDashboardProps extends Omit<BoxProps, 'children'>, Dashboar
6
6
  datasourceApi: DatasourceStoreProviderProps['datasourceApi'];
7
7
  externalVariableDefinitions?: TemplateVariableProviderProps['externalVariableDefinitions'];
8
8
  isEditing?: boolean;
9
+ isCreating?: boolean;
9
10
  }
10
11
  /**
11
12
  * The View for displaying a Dashboard, along with the UI for selecting variable values.
@@ -1 +1 @@
1
- {"version":3,"file":"ViewDashboard.d.ts","sourceRoot":"","sources":["../../../src/views/ViewDashboard/ViewDashboard.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAGL,4BAA4B,EAE5B,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,iBAAiB;IACvF,aAAa,EAAE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAC7D,2BAA2B,CAAC,EAAE,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eA+DtD"}
1
+ {"version":3,"file":"ViewDashboard.d.ts","sourceRoot":"","sources":["../../../src/views/ViewDashboard/ViewDashboard.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AAU9C,OAAO,EAEL,4BAA4B,EAE5B,6BAA6B,EAE9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,iBAAiB;IACvF,aAAa,EAAE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAC7D,2BAA2B,CAAC,EAAE,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eAqGtD"}
@@ -14,20 +14,60 @@ import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { Box } from '@mui/material';
15
15
  import { DEFAULT_DASHBOARD_DURATION, DEFAULT_REFRESH_INTERVAL } from '@perses-dev/core';
16
16
  import { ErrorBoundary, ErrorAlert, combineSx } from '@perses-dev/components';
17
- import { TimeRangeProvider, useInitialRefreshInterval, useInitialTimeRange } from '@perses-dev/plugin-system';
18
- import { TemplateVariableProvider, DashboardProvider, DatasourceStoreProvider } from '../../context';
17
+ import { TimeRangeProviderWithQueryParams, useInitialRefreshInterval, useInitialTimeRange, usePluginBuiltinVariableDefinitions } from '@perses-dev/plugin-system';
18
+ import { useMemo } from 'react';
19
+ import { DashboardProvider, DatasourceStoreProvider, TemplateVariableProviderWithQueryParams } from '../../context';
19
20
  import { DashboardApp } from './DashboardApp';
20
21
  /**
21
22
  * The View for displaying a Dashboard, along with the UI for selecting variable values.
22
23
  */ export function ViewDashboard(props) {
23
- const { dashboardResource , datasourceApi , externalVariableDefinitions , dashboardTitleComponent , emptyDashboardProps , onSave , onDiscard , initialVariableIsSticky , isReadonly , isEditing , sx , ...others } = props;
24
+ const { dashboardResource , datasourceApi , externalVariableDefinitions , dashboardTitleComponent , emptyDashboardProps , onSave , onDiscard , initialVariableIsSticky , isReadonly , isEditing , isCreating , sx , ...others } = props;
24
25
  const { spec } = dashboardResource;
25
- var _duration;
26
- const dashboardDuration = (_duration = spec.duration) !== null && _duration !== void 0 ? _duration : DEFAULT_DASHBOARD_DURATION;
27
- var _refreshInterval;
28
- const dashboardRefreshInterval = (_refreshInterval = spec.refreshInterval) !== null && _refreshInterval !== void 0 ? _refreshInterval : DEFAULT_REFRESH_INTERVAL;
26
+ var _spec_duration;
27
+ const dashboardDuration = (_spec_duration = spec.duration) !== null && _spec_duration !== void 0 ? _spec_duration : DEFAULT_DASHBOARD_DURATION;
28
+ var _spec_refreshInterval;
29
+ const dashboardRefreshInterval = (_spec_refreshInterval = spec.refreshInterval) !== null && _spec_refreshInterval !== void 0 ? _spec_refreshInterval : DEFAULT_REFRESH_INTERVAL;
29
30
  const initialTimeRange = useInitialTimeRange(dashboardDuration);
30
31
  const initialRefreshInterval = useInitialRefreshInterval(dashboardRefreshInterval);
32
+ const { data } = usePluginBuiltinVariableDefinitions();
33
+ const builtinVariables = useMemo(()=>{
34
+ const result = [
35
+ {
36
+ kind: 'BuiltinVariable',
37
+ spec: {
38
+ name: '__dashboard',
39
+ value: ()=>dashboardResource.metadata.name,
40
+ source: 'Dashboard',
41
+ display: {
42
+ name: '__dashboard',
43
+ description: 'The name of the current dashboard',
44
+ hidden: true
45
+ }
46
+ }
47
+ },
48
+ {
49
+ kind: 'BuiltinVariable',
50
+ spec: {
51
+ name: '__project',
52
+ value: ()=>dashboardResource.metadata.project,
53
+ source: 'Dashboard',
54
+ display: {
55
+ name: '__project',
56
+ description: 'The name of the current dashboard project',
57
+ hidden: true
58
+ }
59
+ }
60
+ }
61
+ ];
62
+ if (data) {
63
+ data.forEach((def)=>result.push(def));
64
+ }
65
+ return result;
66
+ }, [
67
+ dashboardResource.metadata.name,
68
+ dashboardResource.metadata.project,
69
+ data
70
+ ]);
31
71
  return /*#__PURE__*/ _jsx(DatasourceStoreProvider, {
32
72
  dashboardResource: dashboardResource,
33
73
  datasourceApi: datasourceApi,
@@ -36,13 +76,13 @@ import { DashboardApp } from './DashboardApp';
36
76
  dashboardResource,
37
77
  isEditMode: !!isEditing
38
78
  },
39
- children: /*#__PURE__*/ _jsx(TimeRangeProvider, {
79
+ children: /*#__PURE__*/ _jsx(TimeRangeProviderWithQueryParams, {
40
80
  initialTimeRange: initialTimeRange,
41
81
  initialRefreshInterval: initialRefreshInterval,
42
- enabledURLParams: true,
43
- children: /*#__PURE__*/ _jsx(TemplateVariableProvider, {
82
+ children: /*#__PURE__*/ _jsx(TemplateVariableProviderWithQueryParams, {
44
83
  initialVariableDefinitions: spec.variables,
45
84
  externalVariableDefinitions: externalVariableDefinitions,
85
+ builtinVariables: builtinVariables,
46
86
  children: /*#__PURE__*/ _jsx(Box, {
47
87
  sx: combineSx({
48
88
  display: 'flex',
@@ -61,7 +101,8 @@ import { DashboardApp } from './DashboardApp';
61
101
  onSave: onSave,
62
102
  onDiscard: onDiscard,
63
103
  initialVariableIsSticky: initialVariableIsSticky,
64
- isReadonly: isReadonly
104
+ isReadonly: isReadonly,
105
+ isCreating: isCreating
65
106
  })
66
107
  })
67
108
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/ViewDashboard/ViewDashboard.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, BoxProps } from '@mui/material';\nimport { DEFAULT_DASHBOARD_DURATION, DEFAULT_REFRESH_INTERVAL } from '@perses-dev/core';\nimport { ErrorBoundary, ErrorAlert, combineSx } from '@perses-dev/components';\nimport { TimeRangeProvider, useInitialRefreshInterval, useInitialTimeRange } from '@perses-dev/plugin-system';\nimport {\n TemplateVariableProvider,\n DashboardProvider,\n DatasourceStoreProviderProps,\n DatasourceStoreProvider,\n TemplateVariableProviderProps,\n} from '../../context';\nimport { DashboardApp, DashboardAppProps } from './DashboardApp';\n\nexport interface ViewDashboardProps extends Omit<BoxProps, 'children'>, DashboardAppProps {\n datasourceApi: DatasourceStoreProviderProps['datasourceApi'];\n externalVariableDefinitions?: TemplateVariableProviderProps['externalVariableDefinitions'];\n isEditing?: boolean;\n}\n\n/**\n * The View for displaying a Dashboard, along with the UI for selecting variable values.\n */\nexport function ViewDashboard(props: ViewDashboardProps) {\n const {\n dashboardResource,\n datasourceApi,\n externalVariableDefinitions,\n dashboardTitleComponent,\n emptyDashboardProps,\n onSave,\n onDiscard,\n initialVariableIsSticky,\n isReadonly,\n isEditing,\n sx,\n ...others\n } = props;\n const { spec } = dashboardResource;\n const dashboardDuration = spec.duration ?? DEFAULT_DASHBOARD_DURATION;\n const dashboardRefreshInterval = spec.refreshInterval ?? DEFAULT_REFRESH_INTERVAL;\n const initialTimeRange = useInitialTimeRange(dashboardDuration);\n const initialRefreshInterval = useInitialRefreshInterval(dashboardRefreshInterval);\n\n return (\n <DatasourceStoreProvider dashboardResource={dashboardResource} datasourceApi={datasourceApi}>\n <DashboardProvider initialState={{ dashboardResource, isEditMode: !!isEditing }}>\n <TimeRangeProvider\n initialTimeRange={initialTimeRange}\n initialRefreshInterval={initialRefreshInterval}\n enabledURLParams={true}\n >\n <TemplateVariableProvider\n initialVariableDefinitions={spec.variables}\n externalVariableDefinitions={externalVariableDefinitions}\n >\n <Box\n sx={combineSx(\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n },\n sx\n )}\n {...others}\n >\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <DashboardApp\n dashboardResource={dashboardResource}\n dashboardTitleComponent={dashboardTitleComponent}\n emptyDashboardProps={emptyDashboardProps}\n onSave={onSave}\n onDiscard={onDiscard}\n initialVariableIsSticky={initialVariableIsSticky}\n isReadonly={isReadonly}\n />\n </ErrorBoundary>\n </Box>\n </TemplateVariableProvider>\n </TimeRangeProvider>\n </DashboardProvider>\n </DatasourceStoreProvider>\n );\n}\n"],"names":["Box","DEFAULT_DASHBOARD_DURATION","DEFAULT_REFRESH_INTERVAL","ErrorBoundary","ErrorAlert","combineSx","TimeRangeProvider","useInitialRefreshInterval","useInitialTimeRange","TemplateVariableProvider","DashboardProvider","DatasourceStoreProvider","DashboardApp","ViewDashboard","props","dashboardResource","datasourceApi","externalVariableDefinitions","dashboardTitleComponent","emptyDashboardProps","onSave","onDiscard","initialVariableIsSticky","isReadonly","isEditing","sx","others","spec","dashboardDuration","duration","dashboardRefreshInterval","refreshInterval","initialTimeRange","initialRefreshInterval","initialState","isEditMode","enabledURLParams","initialVariableDefinitions","variables","display","width","height","position","overflow","FallbackComponent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/ViewDashboard/ViewDashboard.tsx"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, BoxProps } from '@mui/material';\nimport { BuiltinVariableDefinition, DEFAULT_DASHBOARD_DURATION, DEFAULT_REFRESH_INTERVAL } from '@perses-dev/core';\nimport { ErrorBoundary, ErrorAlert, combineSx } from '@perses-dev/components';\nimport {\n TimeRangeProviderWithQueryParams,\n useInitialRefreshInterval,\n useInitialTimeRange,\n usePluginBuiltinVariableDefinitions,\n} from '@perses-dev/plugin-system';\nimport { useMemo } from 'react';\nimport {\n DashboardProvider,\n DatasourceStoreProviderProps,\n DatasourceStoreProvider,\n TemplateVariableProviderProps,\n TemplateVariableProviderWithQueryParams,\n} from '../../context';\nimport { DashboardApp, DashboardAppProps } from './DashboardApp';\n\nexport interface ViewDashboardProps extends Omit<BoxProps, 'children'>, DashboardAppProps {\n datasourceApi: DatasourceStoreProviderProps['datasourceApi'];\n externalVariableDefinitions?: TemplateVariableProviderProps['externalVariableDefinitions'];\n isEditing?: boolean;\n isCreating?: boolean;\n}\n\n/**\n * The View for displaying a Dashboard, along with the UI for selecting variable values.\n */\nexport function ViewDashboard(props: ViewDashboardProps) {\n const {\n dashboardResource,\n datasourceApi,\n externalVariableDefinitions,\n dashboardTitleComponent,\n emptyDashboardProps,\n onSave,\n onDiscard,\n initialVariableIsSticky,\n isReadonly,\n isEditing,\n isCreating,\n sx,\n ...others\n } = props;\n const { spec } = dashboardResource;\n const dashboardDuration = spec.duration ?? DEFAULT_DASHBOARD_DURATION;\n const dashboardRefreshInterval = spec.refreshInterval ?? DEFAULT_REFRESH_INTERVAL;\n const initialTimeRange = useInitialTimeRange(dashboardDuration);\n const initialRefreshInterval = useInitialRefreshInterval(dashboardRefreshInterval);\n const { data } = usePluginBuiltinVariableDefinitions();\n\n const builtinVariables = useMemo(() => {\n const result = [\n {\n kind: 'BuiltinVariable',\n spec: {\n name: '__dashboard',\n value: () => dashboardResource.metadata.name,\n source: 'Dashboard',\n display: {\n name: '__dashboard',\n description: 'The name of the current dashboard',\n hidden: true,\n },\n },\n } as BuiltinVariableDefinition,\n {\n kind: 'BuiltinVariable',\n spec: {\n name: '__project',\n value: () => dashboardResource.metadata.project,\n source: 'Dashboard',\n display: {\n name: '__project',\n description: 'The name of the current dashboard project',\n hidden: true,\n },\n },\n } as BuiltinVariableDefinition,\n ];\n if (data) {\n data.forEach((def: BuiltinVariableDefinition) => result.push(def));\n }\n return result;\n }, [dashboardResource.metadata.name, dashboardResource.metadata.project, data]);\n\n return (\n <DatasourceStoreProvider dashboardResource={dashboardResource} datasourceApi={datasourceApi}>\n <DashboardProvider initialState={{ dashboardResource, isEditMode: !!isEditing }}>\n <TimeRangeProviderWithQueryParams\n initialTimeRange={initialTimeRange}\n initialRefreshInterval={initialRefreshInterval}\n >\n <TemplateVariableProviderWithQueryParams\n initialVariableDefinitions={spec.variables}\n externalVariableDefinitions={externalVariableDefinitions}\n builtinVariables={builtinVariables}\n >\n <Box\n sx={combineSx(\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n },\n sx\n )}\n {...others}\n >\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <DashboardApp\n dashboardResource={dashboardResource}\n dashboardTitleComponent={dashboardTitleComponent}\n emptyDashboardProps={emptyDashboardProps}\n onSave={onSave}\n onDiscard={onDiscard}\n initialVariableIsSticky={initialVariableIsSticky}\n isReadonly={isReadonly}\n isCreating={isCreating}\n />\n </ErrorBoundary>\n </Box>\n </TemplateVariableProviderWithQueryParams>\n </TimeRangeProviderWithQueryParams>\n </DashboardProvider>\n </DatasourceStoreProvider>\n );\n}\n"],"names":["Box","DEFAULT_DASHBOARD_DURATION","DEFAULT_REFRESH_INTERVAL","ErrorBoundary","ErrorAlert","combineSx","TimeRangeProviderWithQueryParams","useInitialRefreshInterval","useInitialTimeRange","usePluginBuiltinVariableDefinitions","useMemo","DashboardProvider","DatasourceStoreProvider","TemplateVariableProviderWithQueryParams","DashboardApp","ViewDashboard","props","dashboardResource","datasourceApi","externalVariableDefinitions","dashboardTitleComponent","emptyDashboardProps","onSave","onDiscard","initialVariableIsSticky","isReadonly","isEditing","isCreating","sx","others","spec","dashboardDuration","duration","dashboardRefreshInterval","refreshInterval","initialTimeRange","initialRefreshInterval","data","builtinVariables","result","kind","name","value","metadata","source","display","description","hidden","project","forEach","def","push","initialState","isEditMode","initialVariableDefinitions","variables","width","height","position","overflow","FallbackComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/ViewDashboard/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ViewDashboard';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"sources":["../../../src/views/ViewDashboard/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ViewDashboard';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/views/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ViewDashboard';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"sources":["../../src/views/index.ts"],"sourcesContent":["// Copyright 2023 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './ViewDashboard';\n"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,kBAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perses-dev/dashboards",
3
- "version": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
3
+ "version": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
4
4
  "description": "The dashboards feature in Perses",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/perses/perses/blob/main/README.md",
@@ -23,20 +23,21 @@
23
23
  "build:types": "tsc --project tsconfig.build.json",
24
24
  "type-check": "tsc --noEmit",
25
25
  "start": "concurrently -P \"npm:build:* -- {*}\" -- --watch",
26
- "test": "TZ=UTC jest",
26
+ "test": "cross-env TZ=UTC jest",
27
27
  "test:watch": "npm run test -- --watch",
28
28
  "lint": "eslint src --ext .ts,.tsx",
29
29
  "lint:fix": "eslint --fix src --ext .ts,.tsx"
30
30
  },
31
31
  "dependencies": {
32
- "@perses-dev/components": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
33
- "@perses-dev/core": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
34
- "@perses-dev/plugin-system": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
32
+ "@perses-dev/components": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
33
+ "@perses-dev/core": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
34
+ "@perses-dev/plugin-system": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
35
35
  "@types/react-grid-layout": "^1.3.2",
36
36
  "date-fns": "^2.28.0",
37
37
  "immer": "^9.0.15",
38
38
  "mdi-material-ui": "^7.4.0",
39
39
  "react-grid-layout": "^1.3.4",
40
+ "react-hook-form": "^7.46.1",
40
41
  "react-intersection-observer": "^9.4.0",
41
42
  "use-immer": "^0.7.0",
42
43
  "use-query-params": "^2.1.1",
@@ -44,8 +45,8 @@
44
45
  "zustand": "^4.3.3"
45
46
  },
46
47
  "devDependencies": {
47
- "@perses-dev/internal-utils": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
48
- "@perses-dev/storybook": "0.0.0-snapshot-panel-extra-content-3-17f9c42",
48
+ "@perses-dev/internal-utils": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
49
+ "@perses-dev/storybook": "0.0.0-snapshot-scatter-chart-embed-8efdfab",
49
50
  "history": "^5.3.0",
50
51
  "intersection-observer": "^0.12.2"
51
52
  },