@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
@@ -21,25 +21,46 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- useTemplateVariableValues: ()=>useTemplateVariableValues,
25
- useTemplateVariable: ()=>useTemplateVariable,
26
- useTemplateVariableActions: ()=>useTemplateVariableActions,
27
- useTemplateVariableDefinitions: ()=>useTemplateVariableDefinitions,
28
- useTemplateVariableStore: ()=>useTemplateVariableStore,
29
- TemplateVariableProvider: ()=>TemplateVariableProvider
24
+ useTemplateVariableStoreCtx: function() {
25
+ return useTemplateVariableStoreCtx;
26
+ },
27
+ useTemplateVariableValues: function() {
28
+ return useTemplateVariableValues;
29
+ },
30
+ useTemplateVariable: function() {
31
+ return useTemplateVariable;
32
+ },
33
+ useTemplateVariableActions: function() {
34
+ return useTemplateVariableActions;
35
+ },
36
+ useTemplateVariableDefinitions: function() {
37
+ return useTemplateVariableDefinitions;
38
+ },
39
+ useTemplateExternalVariableDefinitions: function() {
40
+ return useTemplateExternalVariableDefinitions;
41
+ },
42
+ useTemplateVariableStore: function() {
43
+ return useTemplateVariableStore;
44
+ },
45
+ TemplateVariableProvider: function() {
46
+ return TemplateVariableProvider;
47
+ },
48
+ TemplateVariableProviderWithQueryParams: function() {
49
+ return TemplateVariableProviderWithQueryParams;
50
+ }
30
51
  });
31
- const _jsxRuntime = require("react/jsx-runtime");
52
+ const _jsxruntime = require("react/jsx-runtime");
32
53
  const _react = require("react");
33
54
  const _zustand = require("zustand");
34
55
  const _immer = require("zustand/middleware/immer");
35
56
  const _middleware = require("zustand/middleware");
36
- const _immer1 = /*#__PURE__*/ _interopRequireDefault(require("immer"));
37
- const _pluginSystem = require("@perses-dev/plugin-system");
57
+ const _immer1 = /*#__PURE__*/ _interop_require_default(require("immer"));
58
+ const _pluginsystem = require("@perses-dev/plugin-system");
38
59
  const _core = require("@perses-dev/core");
39
60
  const _utils = require("./utils");
40
61
  const _hydrationUtils = require("./hydrationUtils");
41
- const _queryParams = require("./query-params");
42
- function _interopRequireDefault(obj) {
62
+ const _queryparams = require("./query-params");
63
+ function _interop_require_default(obj) {
43
64
  return obj && obj.__esModule ? obj : {
44
65
  default: obj
45
66
  };
@@ -54,29 +75,51 @@ function useTemplateVariableStoreCtx() {
54
75
  }
55
76
  function useTemplateVariableValues(variableNames) {
56
77
  const store = useTemplateVariableStoreCtx();
57
- const state = (0, _zustand.useStore)(store, (s)=>{
58
- const names = variableNames !== null && variableNames !== void 0 ? variableNames : Object.keys(s.variableState);
78
+ return (0, _zustand.useStore)(store, (s)=>{
59
79
  const vars = {};
80
+ // Collect values of local variables, from the variable state
81
+ const names = variableNames !== null && variableNames !== void 0 ? variableNames : s.variableDefinitions.map((value)=>value.spec.name);
60
82
  names.forEach((name)=>{
61
- const varState = s.variableState[name];
62
- if (!varState) {
83
+ const varState = s.variableState.get({
84
+ name
85
+ });
86
+ if (!varState || varState.overridden) {
63
87
  return;
64
88
  }
65
89
  vars[name] = varState;
66
90
  });
91
+ // Collect values of external variables, from the variable state
92
+ s.externalVariableDefinitions.forEach((d)=>{
93
+ const source = d.source;
94
+ d.definitions.forEach((value)=>{
95
+ const name = value.spec.name;
96
+ const varState = s.variableState.get({
97
+ name,
98
+ source
99
+ });
100
+ if (!varState || varState.overridden) {
101
+ return;
102
+ }
103
+ vars[name] = varState;
104
+ });
105
+ });
67
106
  return vars;
68
107
  }, (left, right)=>{
69
108
  return JSON.stringify(left) === JSON.stringify(right);
70
109
  });
71
- return state;
72
110
  }
73
- function useTemplateVariable(name) {
111
+ function useTemplateVariable(name, source) {
74
112
  const store = useTemplateVariableStoreCtx();
75
113
  return (0, _zustand.useStore)(store, (s)=>{
76
- const variableState = s.variableState[name];
77
- const definition = s.variableDefinitions.find((v)=>v.spec.name === name);
114
+ var _s_externalVariableDefinitions_find;
115
+ const state = s.variableState.get({
116
+ name,
117
+ source
118
+ });
119
+ const definitions = source ? (_s_externalVariableDefinitions_find = s.externalVariableDefinitions.find((v)=>v.source === source)) === null || _s_externalVariableDefinitions_find === void 0 ? void 0 : _s_externalVariableDefinitions_find.definitions : s.variableDefinitions;
120
+ const definition = (definitions || []).find((v)=>v.spec.name === name);
78
121
  return {
79
- state: variableState,
122
+ state,
80
123
  definition
81
124
  };
82
125
  });
@@ -98,13 +141,19 @@ function useTemplateVariableDefinitions() {
98
141
  const store = useTemplateVariableStoreCtx();
99
142
  return (0, _zustand.useStore)(store, (s)=>s.variableDefinitions);
100
143
  }
144
+ function useTemplateExternalVariableDefinitions() {
145
+ const store = useTemplateVariableStoreCtx();
146
+ return (0, _zustand.useStore)(store, (s)=>s.externalVariableDefinitions);
147
+ }
101
148
  function useTemplateVariableStore() {
102
149
  const store = useTemplateVariableStoreCtx();
103
150
  return (0, _zustand.useStore)(store);
104
151
  }
105
- function PluginProvider({ children }) {
152
+ function PluginProvider({ children , builtinVariables }) {
106
153
  const originalValues = useTemplateVariableValues();
107
154
  const definitions = useTemplateVariableDefinitions();
155
+ const externalDefinitions = useTemplateExternalVariableDefinitions();
156
+ const { absoluteTimeRange } = (0, _pluginsystem.useTimeRange)();
108
157
  const values = (0, _react.useMemo)(()=>{
109
158
  const contextValues = {};
110
159
  // This will loop through all the current variables values
@@ -115,14 +164,14 @@ function PluginProvider({ children }) {
115
164
  ...originalValues[name]
116
165
  };
117
166
  if (v.value === _core.DEFAULT_ALL_VALUE) {
118
- const definition = definitions.find((d)=>d.spec.name === name);
167
+ const definition = (0, _utils.findVariableDefinitionByName)(name, definitions, externalDefinitions);
119
168
  // If the variable is a list variable and has a custom all value, then use that value instead
120
- if ((definition === null || definition === void 0 ? void 0 : definition.kind) === 'ListVariable' && definition.spec.custom_all_value) {
121
- v.value = definition.spec.custom_all_value;
169
+ if ((definition === null || definition === void 0 ? void 0 : definition.kind) === 'ListVariable' && definition.spec.customAllValue) {
170
+ v.value = definition.spec.customAllValue;
122
171
  } else {
123
- var ref;
124
- var ref1;
125
- v.value = (ref1 = (ref = v.options) === null || ref === void 0 ? void 0 : ref.map((o)=>o.value)) !== null && ref1 !== void 0 ? ref1 : null;
172
+ var _v_options;
173
+ var _v_options_map;
174
+ v.value = (_v_options_map = (_v_options = v.options) === null || _v_options === void 0 ? void 0 : _v_options.map((o)=>o.value)) !== null && _v_options_map !== void 0 ? _v_options_map : null;
126
175
  }
127
176
  }
128
177
  contextValues[name] = v;
@@ -130,49 +179,133 @@ function PluginProvider({ children }) {
130
179
  return contextValues;
131
180
  }, [
132
181
  originalValues,
133
- definitions
182
+ definitions,
183
+ externalDefinitions
134
184
  ]);
135
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.TemplateVariableContext.Provider, {
185
+ const allBuiltinVariables = [
186
+ {
187
+ kind: 'BuiltinVariable',
188
+ spec: {
189
+ name: '__from',
190
+ value: ()=>absoluteTimeRange.start.valueOf().toString(),
191
+ source: 'Dashboard',
192
+ display: {
193
+ name: '__from',
194
+ description: 'Start time of the current time range in unix millisecond epoch',
195
+ hidden: true
196
+ }
197
+ }
198
+ },
199
+ {
200
+ kind: 'BuiltinVariable',
201
+ spec: {
202
+ name: '__to',
203
+ value: ()=>absoluteTimeRange.end.valueOf().toString(),
204
+ source: 'Dashboard',
205
+ display: {
206
+ name: '__to',
207
+ description: 'End time of the current time range in unix millisecond epoch',
208
+ hidden: true
209
+ }
210
+ }
211
+ },
212
+ {
213
+ kind: 'BuiltinVariable',
214
+ spec: {
215
+ name: '__range',
216
+ value: ()=>(0, _core.formatDuration)((0, _core.intervalToPrometheusDuration)(absoluteTimeRange)),
217
+ source: 'Dashboard',
218
+ display: {
219
+ name: '__range',
220
+ description: 'The range for the current dashboard in human readable format',
221
+ hidden: true
222
+ }
223
+ }
224
+ },
225
+ {
226
+ kind: 'BuiltinVariable',
227
+ spec: {
228
+ name: '__range_s',
229
+ value: ()=>((absoluteTimeRange.end.valueOf() - absoluteTimeRange.start.valueOf()) / 1000).toString(),
230
+ source: 'Dashboard',
231
+ display: {
232
+ name: '__range_s',
233
+ description: 'The range for the current dashboard in second',
234
+ hidden: true
235
+ }
236
+ }
237
+ },
238
+ {
239
+ kind: 'BuiltinVariable',
240
+ spec: {
241
+ name: '__range_ms',
242
+ value: ()=>(absoluteTimeRange.end.valueOf() - absoluteTimeRange.start.valueOf()).toString(),
243
+ source: 'Dashboard',
244
+ display: {
245
+ name: '__range_ms',
246
+ description: 'The range for the current dashboard in millisecond',
247
+ hidden: true
248
+ }
249
+ }
250
+ }
251
+ ];
252
+ builtinVariables === null || builtinVariables === void 0 ? void 0 : builtinVariables.forEach((def)=>allBuiltinVariables.push(def));
253
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_pluginsystem.BuiltinVariableContext.Provider, {
136
254
  value: {
137
- state: values
255
+ variables: allBuiltinVariables
138
256
  },
139
- children: children
257
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_pluginsystem.TemplateVariableContext.Provider, {
258
+ value: {
259
+ state: values
260
+ },
261
+ children: children
262
+ })
140
263
  });
141
264
  }
142
- function createTemplateVariableSrvStore({ initialVariableDefinitions =[] , queryParams }) {
143
- const initialParams = (0, _queryParams.getInitalValuesFromQueryParameters)(queryParams ? queryParams[0] : {});
265
+ function createTemplateVariableSrvStore({ initialVariableDefinitions =[] , externalVariableDefinitions =[] , queryParams }) {
266
+ const initialParams = (0, _queryparams.getInitalValuesFromQueryParameters)(queryParams ? queryParams[0] : {});
144
267
  const store = (0, _zustand.createStore)()((0, _middleware.devtools)((0, _immer.immer)((set, get)=>{
145
268
  return {
146
- variableState: (0, _hydrationUtils.hydrateTemplateVariableStates)(initialVariableDefinitions, initialParams),
269
+ variableState: (0, _hydrationUtils.hydrateTemplateVariableStates)(initialVariableDefinitions, initialParams, externalVariableDefinitions),
147
270
  variableDefinitions: initialVariableDefinitions,
271
+ externalVariableDefinitions: externalVariableDefinitions,
148
272
  setVariableDefinitions (definitions) {
149
273
  set((state)=>{
150
274
  state.variableDefinitions = definitions;
151
- state.variableState = (0, _hydrationUtils.hydrateTemplateVariableStates)(definitions, initialParams);
275
+ state.variableState = (0, _hydrationUtils.hydrateTemplateVariableStates)(definitions, initialParams, externalVariableDefinitions);
152
276
  }, false, '[Variables] setVariableDefinitions' // Used for action name in Redux devtools
153
277
  );
154
278
  },
155
- setVariableOptions (name, options) {
279
+ setVariableOptions (name, options, source) {
156
280
  set((state)=>{
157
- const varState = state.variableState[name];
281
+ const varState = state.variableState.get({
282
+ name,
283
+ source
284
+ });
158
285
  if (!varState) {
159
286
  return;
160
287
  }
161
288
  varState.options = options;
162
289
  }, false, '[Variables] setVariableOptions');
163
290
  },
164
- setVariableLoading (name, loading) {
291
+ setVariableLoading (name, loading, source) {
165
292
  set((state)=>{
166
- const varState = state.variableState[name];
293
+ const varState = state.variableState.get({
294
+ name,
295
+ source
296
+ });
167
297
  if (!varState) {
168
298
  return;
169
299
  }
170
300
  varState.loading = loading;
171
301
  }, false, '[Variables] setVariableLoading');
172
302
  },
173
- setVariableValue: (name, value)=>set((state)=>{
303
+ setVariableValue: (name, value, source)=>set((state)=>{
174
304
  let val = value;
175
- const varState = state.variableState[name];
305
+ const varState = state.variableState.get({
306
+ name,
307
+ source
308
+ });
176
309
  if (!varState) {
177
310
  return;
178
311
  }
@@ -187,7 +320,7 @@ function createTemplateVariableSrvStore({ initialVariableDefinitions =[] , query
187
320
  if (queryParams) {
188
321
  const setQueryParams = queryParams[1];
189
322
  setQueryParams({
190
- [(0, _queryParams.getURLQueryParamName)(name)]: val
323
+ [(0, _queryparams.getURLQueryParamName)(name)]: val
191
324
  });
192
325
  }
193
326
  varState.value = val;
@@ -197,20 +330,25 @@ function createTemplateVariableSrvStore({ initialVariableDefinitions =[] , query
197
330
  const variableState = get().variableState;
198
331
  const updatedVariables = (0, _immer1.default)(variableDefinitions, (draft)=>{
199
332
  draft.forEach((variable, index)=>{
333
+ const name = variable.spec.name;
200
334
  if (variable.kind === 'ListVariable') {
201
- const currentVariable = variableState[variable.spec.name];
335
+ const currentVariable = variableState.get({
336
+ name
337
+ });
202
338
  if ((currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== undefined) {
203
339
  draft[index] = {
204
340
  kind: 'ListVariable',
205
341
  spec: (0, _immer1.default)(variable.spec, (specDraft)=>{
206
- specDraft.default_value = currentVariable.value;
342
+ specDraft.defaultValue = currentVariable.value;
207
343
  })
208
344
  };
209
345
  }
210
346
  } else if (variable.kind === 'TextVariable') {
211
- const currentVariable1 = variableState[variable.spec.name];
212
- const currentVariableValue = typeof (currentVariable1 === null || currentVariable1 === void 0 ? void 0 : currentVariable1.value) === 'string' ? currentVariable1.value : '';
213
- if ((currentVariable1 === null || currentVariable1 === void 0 ? void 0 : currentVariable1.value) !== undefined) {
347
+ const currentVariable = variableState.get({
348
+ name
349
+ });
350
+ const currentVariableValue = typeof (currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) === 'string' ? currentVariable.value : '';
351
+ if ((currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== undefined) {
214
352
  draft[index] = {
215
353
  kind: 'TextVariable',
216
354
  spec: (0, _immer1.default)(variable.spec, (specDraft)=>{
@@ -233,15 +371,31 @@ function createTemplateVariableSrvStore({ initialVariableDefinitions =[] , query
233
371
  })));
234
372
  return store;
235
373
  }
236
- function TemplateVariableProvider({ children , initialVariableDefinitions =[] }) {
237
- const queryParams = (0, _queryParams.useVariableQueryParams)(initialVariableDefinitions);
374
+ function TemplateVariableProvider({ children , initialVariableDefinitions =[] , externalVariableDefinitions =[] , builtinVariables =[] }) {
375
+ const [store] = (0, _react.useState)(createTemplateVariableSrvStore({
376
+ initialVariableDefinitions,
377
+ externalVariableDefinitions
378
+ }));
379
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(TemplateVariableStoreContext.Provider, {
380
+ value: store,
381
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(PluginProvider, {
382
+ builtinVariables: builtinVariables,
383
+ children: children
384
+ })
385
+ });
386
+ }
387
+ function TemplateVariableProviderWithQueryParams({ children , initialVariableDefinitions =[] , externalVariableDefinitions =[] , builtinVariables =[] }) {
388
+ const allVariableDefs = (0, _utils.mergeVariableDefinitions)(initialVariableDefinitions, externalVariableDefinitions);
389
+ const queryParams = (0, _queryparams.useVariableQueryParams)(allVariableDefs);
238
390
  const [store] = (0, _react.useState)(createTemplateVariableSrvStore({
239
391
  initialVariableDefinitions,
392
+ externalVariableDefinitions,
240
393
  queryParams
241
394
  }));
242
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(TemplateVariableStoreContext.Provider, {
395
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(TemplateVariableStoreContext.Provider, {
243
396
  value: store,
244
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(PluginProvider, {
397
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(PluginProvider, {
398
+ builtinVariables: builtinVariables,
245
399
  children: children
246
400
  })
247
401
  });
@@ -16,14 +16,19 @@ Object.defineProperty(exports, "__esModule", {
16
16
  });
17
17
  Object.defineProperty(exports, "hydrateTemplateVariableStates", {
18
18
  enumerable: true,
19
- get: ()=>hydrateTemplateVariableStates
19
+ get: function() {
20
+ return hydrateTemplateVariableStates;
21
+ }
20
22
  });
21
23
  const _core = require("@perses-dev/core");
24
+ const _pluginsystem = require("@perses-dev/plugin-system");
22
25
  // TODO: move to TemplateVariableProvider/utils.ts
23
26
  function hydrateTemplateVariableState(variable, initialValue) {
24
27
  const varState = {
25
28
  value: null,
26
- loading: false
29
+ loading: false,
30
+ overriding: false,
31
+ overridden: false
27
32
  };
28
33
  switch(variable.kind){
29
34
  case 'TextVariable':
@@ -31,15 +36,15 @@ function hydrateTemplateVariableState(variable, initialValue) {
31
36
  break;
32
37
  case 'ListVariable':
33
38
  varState.options = [];
34
- var ref;
35
- varState.value = (ref = initialValue !== null && initialValue !== void 0 ? initialValue : variable.spec.default_value) !== null && ref !== void 0 ? ref : null;
36
- // TODO: smarter fallbacks for default_value when allow_all_value is true
39
+ var _ref;
40
+ varState.value = (_ref = initialValue !== null && initialValue !== void 0 ? initialValue : variable.spec.defaultValue) !== null && _ref !== void 0 ? _ref : null;
41
+ // TODO: smarter fallbacks for defaultValue when allowAllValue is true
37
42
  if (varState.options.length > 0 && !varState.value) {
38
- var ref1;
39
- var ref2;
40
- const firstOptionValue = (ref2 = (ref1 = varState.options[0]) === null || ref1 === void 0 ? void 0 : ref1.value) !== null && ref2 !== void 0 ? ref2 : null;
43
+ var _varState_options_;
44
+ var _varState_options__value;
45
+ const firstOptionValue = (_varState_options__value = (_varState_options_ = varState.options[0]) === null || _varState_options_ === void 0 ? void 0 : _varState_options_.value) !== null && _varState_options__value !== void 0 ? _varState_options__value : null;
41
46
  if (firstOptionValue !== null) {
42
- varState.value = variable.spec.allow_multiple ? [
47
+ varState.value = variable.spec.allowMultiple ? [
43
48
  firstOptionValue
44
49
  ] : firstOptionValue;
45
50
  }
@@ -58,13 +63,60 @@ function hydrateTemplateVariableState(variable, initialValue) {
58
63
  }
59
64
  return varState;
60
65
  }
61
- function hydrateTemplateVariableStates(definitions, initialValues) {
62
- const state = {};
63
- definitions.forEach((v)=>{
66
+ function hydrateTemplateVariableStates(localDefinitions, initialValues, externalDefinitions = []) {
67
+ const state = new _pluginsystem.VariableStoreStateMap();
68
+ // Collect the names used by local definitions
69
+ let overridingNames = {};
70
+ localDefinitions.forEach((v)=>{
71
+ overridingNames[v.spec.name] = true;
72
+ }, {});
73
+ // Then populate the external variables state,
74
+ // taking care of well flagging each name as used, so the overridden state can be filled accordingly.
75
+ const overriddenNames = {};
76
+ externalDefinitions.forEach((externalDef)=>{
77
+ const source = externalDef.source;
78
+ externalDef.definitions.forEach((v)=>{
79
+ const name = v.spec.name;
80
+ const param = initialValues[name];
81
+ const initialValue = param ? param : null;
82
+ state.set({
83
+ source,
84
+ name
85
+ }, {
86
+ ...hydrateTemplateVariableState(v, initialValue),
87
+ overridden: !!overridingNames[name]
88
+ });
89
+ overridingNames[name] = true;
90
+ overriddenNames[v.spec.name] = true;
91
+ });
92
+ }, {});
93
+ // Then populate the local variables state,
94
+ // taking care the overriding state is filled according to the names used in external variables.
95
+ localDefinitions.forEach((v)=>{
64
96
  const name = v.spec.name;
65
97
  const param = initialValues[name];
66
98
  const initialValue = param ? param : null;
67
- state[name] = hydrateTemplateVariableState(v, initialValue);
99
+ state.set({
100
+ name
101
+ }, {
102
+ ...hydrateTemplateVariableState(v, initialValue),
103
+ overriding: !!overriddenNames[name]
104
+ });
105
+ });
106
+ overridingNames = {};
107
+ externalDefinitions.slice().reverse().forEach((externalDef)=>{
108
+ const source = externalDef.source;
109
+ externalDef.definitions.forEach((v)=>{
110
+ const name = v.spec.name;
111
+ const value = state.get({
112
+ source,
113
+ name
114
+ });
115
+ if (value) {
116
+ value.overriding = !!overridingNames[name];
117
+ }
118
+ overridingNames[name] = true;
119
+ });
68
120
  });
69
121
  return state;
70
122
  }
@@ -14,15 +14,17 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./TemplateVariableProvider"), exports);
18
- function _exportStar(from, to) {
17
+ _export_star(require("./TemplateVariableProvider"), exports);
18
+ function _export_star(from, to) {
19
19
  Object.keys(from).forEach(function(k) {
20
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
21
- enumerable: true,
22
- get: function() {
23
- return from[k];
24
- }
25
- });
20
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
21
+ Object.defineProperty(to, k, {
22
+ enumerable: true,
23
+ get: function() {
24
+ return from[k];
25
+ }
26
+ });
27
+ }
26
28
  });
27
29
  return from;
28
30
  }
@@ -21,13 +21,23 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- getURLQueryParamName: ()=>getURLQueryParamName,
25
- encodeVariableValue: ()=>encodeVariableValue,
26
- decodeVariableValue: ()=>decodeVariableValue,
27
- useVariableQueryParams: ()=>useVariableQueryParams,
28
- getInitalValuesFromQueryParameters: ()=>getInitalValuesFromQueryParameters
24
+ getURLQueryParamName: function() {
25
+ return getURLQueryParamName;
26
+ },
27
+ encodeVariableValue: function() {
28
+ return encodeVariableValue;
29
+ },
30
+ decodeVariableValue: function() {
31
+ return decodeVariableValue;
32
+ },
33
+ useVariableQueryParams: function() {
34
+ return useVariableQueryParams;
35
+ },
36
+ getInitalValuesFromQueryParameters: function() {
37
+ return getInitalValuesFromQueryParameters;
38
+ }
29
39
  });
30
- const _useQueryParams = require("use-query-params");
40
+ const _usequeryparams = require("use-query-params");
31
41
  const variableQueryParameterPrefix = 'var-';
32
42
  function getURLQueryParamName(name) {
33
43
  return `${variableQueryParameterPrefix}${name}`;
@@ -63,7 +73,7 @@ function useVariableQueryParams(defs) {
63
73
  const name = getURLQueryParamName(def.spec.name);
64
74
  config[name] = VariableValueParam;
65
75
  });
66
- return (0, _useQueryParams.useQueryParams)(config, {
76
+ return (0, _usequeryparams.useQueryParams)(config, {
67
77
  updateType: 'replaceIn'
68
78
  });
69
79
  }
@@ -14,25 +14,46 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "checkSavedDefaultVariableStatus", {
18
- enumerable: true,
19
- get: ()=>checkSavedDefaultVariableStatus
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
+ checkSavedDefaultVariableStatus: function() {
25
+ return checkSavedDefaultVariableStatus;
26
+ },
27
+ mergeVariableDefinitions: function() {
28
+ return mergeVariableDefinitions;
29
+ },
30
+ findVariableDefinitionByName: function() {
31
+ return findVariableDefinitionByName;
32
+ },
33
+ forEachVariableDefinition: function() {
34
+ return forEachVariableDefinition;
35
+ }
20
36
  });
21
37
  function checkSavedDefaultVariableStatus(definitions, varState) {
22
38
  let isSavedVariableModified = false;
23
39
  const modifiedVariableNames = [];
24
40
  for (const savedVariable of definitions){
41
+ const name = savedVariable.spec.name;
25
42
  if (savedVariable.kind === 'ListVariable') {
26
- const currentVariable = varState[savedVariable.spec.name];
27
- if ((currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== null && (currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== savedVariable.spec.default_value) {
28
- modifiedVariableNames.push(savedVariable.spec.name);
43
+ const currentVariable = varState.get({
44
+ name
45
+ });
46
+ if ((currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== null && (currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) !== savedVariable.spec.defaultValue) {
47
+ modifiedVariableNames.push(name);
29
48
  isSavedVariableModified = true;
30
49
  }
31
50
  } else if (savedVariable.kind === 'TextVariable') {
32
- const currentVariable1 = varState[savedVariable.spec.name];
33
- const currentVariableValue = typeof (currentVariable1 === null || currentVariable1 === void 0 ? void 0 : currentVariable1.value) === 'string' ? currentVariable1.value : '';
51
+ const currentVariable = varState.get({
52
+ name
53
+ });
54
+ const currentVariableValue = typeof (currentVariable === null || currentVariable === void 0 ? void 0 : currentVariable.value) === 'string' ? currentVariable.value : '';
34
55
  if (savedVariable.spec.value !== currentVariableValue) {
35
- modifiedVariableNames.push(savedVariable.spec.name);
56
+ modifiedVariableNames.push(name);
36
57
  isSavedVariableModified = true;
37
58
  }
38
59
  }
@@ -42,3 +63,22 @@ function checkSavedDefaultVariableStatus(definitions, varState) {
42
63
  modifiedVariableNames
43
64
  };
44
65
  }
66
+ function mergeVariableDefinitions(locals, externals) {
67
+ const pushed = {};
68
+ const result = [];
69
+ // Append the value only if it's not already appended
70
+ forEachVariableDefinition(locals, externals, (value, name)=>{
71
+ if (!pushed[name]) {
72
+ result.push(value);
73
+ pushed[name] = true;
74
+ }
75
+ });
76
+ return result;
77
+ }
78
+ function findVariableDefinitionByName(name, localDefinitions, externalDefinitions) {
79
+ return mergeVariableDefinitions(localDefinitions, externalDefinitions).find((d)=>d.spec.name === name);
80
+ }
81
+ function forEachVariableDefinition(locals, externals, callbackFn) {
82
+ locals.forEach((v)=>callbackFn(v, v.spec.name));
83
+ externals.forEach((ext)=>ext.definitions.forEach((v)=>callbackFn(v, v.spec.name, ext.source)));
84
+ }