@perses-dev/dashboards 0.38.0 → 0.40.0

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 (303) hide show
  1. package/dist/cjs/components/AddGroupButton/AddGroupButton.js +9 -7
  2. package/dist/cjs/components/AddGroupButton/index.js +10 -8
  3. package/dist/cjs/components/AddPanelButton/AddPanelButton.js +9 -7
  4. package/dist/cjs/components/AddPanelButton/index.js +10 -8
  5. package/dist/cjs/components/Dashboard/Dashboard.js +14 -11
  6. package/dist/cjs/components/Dashboard/index.js +10 -8
  7. package/dist/cjs/components/DashboardStickyToolbar/DashboardStickyToolbar.js +18 -16
  8. package/dist/cjs/components/DashboardStickyToolbar/index.js +10 -8
  9. package/dist/cjs/components/DashboardToolbar/DashboardToolbar.js +43 -41
  10. package/dist/cjs/components/DashboardToolbar/index.js +10 -8
  11. package/dist/cjs/components/DeletePanelDialog/DeletePanelDialog.js +12 -10
  12. package/dist/cjs/components/DeletePanelDialog/index.js +10 -8
  13. package/dist/cjs/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +17 -15
  14. package/dist/cjs/components/DeletePanelGroupDialog/index.js +10 -8
  15. package/dist/cjs/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js +5 -3
  16. package/dist/cjs/components/DiscardChangesConfirmationDialog/index.js +10 -8
  17. package/dist/cjs/components/DownloadButton/DownloadButton.js +12 -10
  18. package/dist/cjs/components/DownloadButton/index.js +10 -8
  19. package/dist/cjs/components/EditButton/EditButton.js +8 -6
  20. package/dist/cjs/components/EditButton/index.js +10 -8
  21. package/dist/cjs/components/EditJsonButton/EditJsonButton.js +10 -8
  22. package/dist/cjs/components/EditJsonButton/index.js +10 -8
  23. package/dist/cjs/components/EditJsonDialog/EditJsonDialog.js +29 -23
  24. package/dist/cjs/components/EditJsonDialog/index.js +10 -8
  25. package/dist/cjs/components/EmptyDashboard/EmptyDashboard.js +18 -16
  26. package/dist/cjs/components/EmptyDashboard/index.js +10 -8
  27. package/dist/cjs/components/GridLayout/GridContainer.js +5 -3
  28. package/dist/cjs/components/GridLayout/GridItemContent.js +33 -12
  29. package/dist/cjs/components/GridLayout/GridLayout.js +19 -16
  30. package/dist/cjs/components/GridLayout/GridTitle.js +35 -33
  31. package/dist/cjs/components/GridLayout/index.js +13 -11
  32. package/dist/cjs/components/Panel/Panel.js +21 -21
  33. package/dist/cjs/components/Panel/PanelContent.js +8 -6
  34. package/dist/cjs/components/Panel/PanelHeader.js +39 -33
  35. package/dist/cjs/components/Panel/index.js +10 -8
  36. package/dist/cjs/components/PanelDrawer/PanelDrawer.js +25 -77
  37. package/dist/cjs/components/PanelDrawer/PanelEditorForm.js +269 -141
  38. package/dist/cjs/components/PanelDrawer/PanelPreview.js +11 -9
  39. package/dist/cjs/components/PanelDrawer/index.js +10 -8
  40. package/dist/cjs/components/PanelDrawer/usePanelEditor.js +3 -1
  41. package/dist/cjs/components/PanelGroupDialog/PanelGroupDialog.js +18 -16
  42. package/dist/cjs/components/PanelGroupDialog/PanelGroupEditorForm.js +15 -11
  43. package/dist/cjs/components/PanelGroupDialog/index.js +10 -8
  44. package/dist/cjs/components/QuerySummaryTable/QuerySummaryTable.js +46 -44
  45. package/dist/cjs/components/QuerySummaryTable/index.js +10 -8
  46. package/dist/cjs/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +23 -21
  47. package/dist/cjs/components/SaveChangesConfirmationDialog/index.js +10 -8
  48. package/dist/cjs/components/SaveDashboardButton/SaveDashboardButton.js +11 -9
  49. package/dist/cjs/components/SaveDashboardButton/index.js +10 -8
  50. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +40 -16
  51. package/dist/cjs/components/TimeRangeControls/index.js +10 -8
  52. package/dist/cjs/components/ToolbarIconButton/ToolbarIconButton.js +5 -3
  53. package/dist/cjs/components/ToolbarIconButton/index.js +10 -8
  54. package/dist/cjs/components/Variables/BuiltinVariableAccordions.js +140 -0
  55. package/dist/cjs/components/Variables/EditVariablesButton.js +18 -11
  56. package/dist/cjs/components/Variables/TemplateVariable.js +127 -76
  57. package/dist/cjs/components/Variables/VariableEditor.js +356 -117
  58. package/dist/cjs/components/Variables/VariableList.js +45 -21
  59. package/dist/cjs/components/Variables/index.js +14 -11
  60. package/dist/cjs/components/index.js +31 -29
  61. package/dist/cjs/constants/grid-layout-config.js +6 -2
  62. package/dist/cjs/constants/index.js +11 -9
  63. package/dist/cjs/constants/user-interface-text.js +6 -2
  64. package/dist/cjs/context/DashboardProvider/DashboardProvider.js +40 -34
  65. package/dist/cjs/context/DashboardProvider/common.js +6 -2
  66. package/dist/cjs/context/DashboardProvider/dashboard-provider-api.js +70 -38
  67. package/dist/cjs/context/DashboardProvider/delete-panel-group-slice.js +3 -1
  68. package/dist/cjs/context/DashboardProvider/delete-panel-slice.js +5 -3
  69. package/dist/cjs/context/DashboardProvider/discard-changes-dialog-slice.js +3 -1
  70. package/dist/cjs/context/DashboardProvider/duplicate-panel-slice.js +3 -1
  71. package/dist/cjs/context/DashboardProvider/edit-json-dialog-slice.js +3 -1
  72. package/dist/cjs/context/DashboardProvider/index.js +12 -10
  73. package/dist/cjs/context/DashboardProvider/panel-editor-slice.js +13 -11
  74. package/dist/cjs/context/DashboardProvider/panel-group-editor-slice.js +8 -6
  75. package/dist/cjs/context/DashboardProvider/panel-group-slice.js +15 -7
  76. package/dist/cjs/context/DashboardProvider/panel-slice.js +3 -1
  77. package/dist/cjs/context/DashboardProvider/save-changes-dialog-slice.js +3 -1
  78. package/dist/cjs/context/DatasourceStoreProvider.js +114 -45
  79. package/dist/cjs/context/TemplateVariableProvider/TemplateVariableProvider.js +189 -51
  80. package/dist/cjs/context/TemplateVariableProvider/hydrationUtils.js +65 -13
  81. package/dist/cjs/context/TemplateVariableProvider/index.js +10 -8
  82. package/dist/cjs/context/TemplateVariableProvider/query-params.js +17 -7
  83. package/dist/cjs/context/TemplateVariableProvider/utils.js +49 -9
  84. package/dist/cjs/context/index.js +13 -11
  85. package/dist/cjs/context/useDashboard.js +8 -6
  86. package/dist/cjs/index.js +12 -10
  87. package/dist/cjs/stories/decorators/WithDashboard.js +6 -4
  88. package/dist/cjs/stories/decorators/WithDatasourceStore.js +6 -4
  89. package/dist/cjs/stories/decorators/WithTemplateVariables.js +6 -4
  90. package/dist/cjs/stories/decorators/constants.js +5 -3
  91. package/dist/cjs/stories/decorators/index.js +13 -11
  92. package/dist/cjs/test/dashboard-provider.js +8 -4
  93. package/dist/cjs/test/datasource-provider.js +16 -12
  94. package/dist/cjs/test/index.js +13 -11
  95. package/dist/cjs/test/plugin-registry.js +6 -4
  96. package/dist/cjs/test/render.js +27 -20
  97. package/dist/cjs/test/setup-tests.js +2 -2
  98. package/dist/cjs/test/testDashboard.js +13 -11
  99. package/dist/cjs/utils/index.js +11 -9
  100. package/dist/cjs/utils/panelUtils.js +9 -3
  101. package/dist/cjs/utils/time.js +5 -3
  102. package/dist/cjs/validation/index.js +30 -0
  103. package/dist/cjs/validation/panel.js +29 -0
  104. package/dist/cjs/views/ViewDashboard/DashboardApp.js +24 -15
  105. package/dist/cjs/views/ViewDashboard/ViewDashboard.js +64 -19
  106. package/dist/cjs/views/ViewDashboard/index.js +10 -8
  107. package/dist/cjs/views/index.js +10 -8
  108. package/dist/components/AddGroupButton/AddGroupButton.js.map +1 -1
  109. package/dist/components/AddGroupButton/index.js.map +1 -1
  110. package/dist/components/AddPanelButton/AddPanelButton.js.map +1 -1
  111. package/dist/components/AddPanelButton/index.js.map +1 -1
  112. package/dist/components/Dashboard/Dashboard.d.ts +3 -1
  113. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -1
  114. package/dist/components/Dashboard/Dashboard.js +3 -2
  115. package/dist/components/Dashboard/Dashboard.js.map +1 -1
  116. package/dist/components/Dashboard/index.js.map +1 -1
  117. package/dist/components/DashboardStickyToolbar/DashboardStickyToolbar.js.map +1 -1
  118. package/dist/components/DashboardStickyToolbar/index.js.map +1 -1
  119. package/dist/components/DashboardToolbar/DashboardToolbar.js +1 -1
  120. package/dist/components/DashboardToolbar/DashboardToolbar.js.map +1 -1
  121. package/dist/components/DashboardToolbar/index.js.map +1 -1
  122. package/dist/components/DeletePanelDialog/DeletePanelDialog.js.map +1 -1
  123. package/dist/components/DeletePanelDialog/index.js.map +1 -1
  124. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js +2 -2
  125. package/dist/components/DeletePanelGroupDialog/DeletePanelGroupDialog.js.map +1 -1
  126. package/dist/components/DeletePanelGroupDialog/index.js.map +1 -1
  127. package/dist/components/DiscardChangesConfirmationDialog/DiscardChangesConfirmationDialog.js.map +1 -1
  128. package/dist/components/DiscardChangesConfirmationDialog/index.js.map +1 -1
  129. package/dist/components/DownloadButton/DownloadButton.js.map +1 -1
  130. package/dist/components/DownloadButton/index.js.map +1 -1
  131. package/dist/components/EditButton/EditButton.js.map +1 -1
  132. package/dist/components/EditButton/index.js.map +1 -1
  133. package/dist/components/EditJsonButton/EditJsonButton.js.map +1 -1
  134. package/dist/components/EditJsonButton/index.js.map +1 -1
  135. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts +4 -1
  136. package/dist/components/EditJsonDialog/EditJsonDialog.d.ts.map +1 -1
  137. package/dist/components/EditJsonDialog/EditJsonDialog.js +12 -8
  138. package/dist/components/EditJsonDialog/EditJsonDialog.js.map +1 -1
  139. package/dist/components/EditJsonDialog/index.js.map +1 -1
  140. package/dist/components/EmptyDashboard/EmptyDashboard.js.map +1 -1
  141. package/dist/components/EmptyDashboard/index.js.map +1 -1
  142. package/dist/components/GridLayout/GridContainer.js.map +1 -1
  143. package/dist/components/GridLayout/GridItemContent.d.ts +2 -0
  144. package/dist/components/GridLayout/GridItemContent.d.ts.map +1 -1
  145. package/dist/components/GridLayout/GridItemContent.js +27 -8
  146. package/dist/components/GridLayout/GridItemContent.js.map +1 -1
  147. package/dist/components/GridLayout/GridLayout.d.ts +2 -0
  148. package/dist/components/GridLayout/GridLayout.d.ts.map +1 -1
  149. package/dist/components/GridLayout/GridLayout.js +3 -2
  150. package/dist/components/GridLayout/GridLayout.js.map +1 -1
  151. package/dist/components/GridLayout/GridTitle.js.map +1 -1
  152. package/dist/components/GridLayout/index.js.map +1 -1
  153. package/dist/components/Panel/Panel.d.ts +20 -0
  154. package/dist/components/Panel/Panel.d.ts.map +1 -1
  155. package/dist/components/Panel/Panel.js +8 -10
  156. package/dist/components/Panel/Panel.js.map +1 -1
  157. package/dist/components/Panel/PanelContent.js.map +1 -1
  158. package/dist/components/Panel/PanelHeader.d.ts +2 -1
  159. package/dist/components/Panel/PanelHeader.d.ts.map +1 -1
  160. package/dist/components/Panel/PanelHeader.js +7 -3
  161. package/dist/components/Panel/PanelHeader.js.map +1 -1
  162. package/dist/components/Panel/index.js.map +1 -1
  163. package/dist/components/PanelDrawer/PanelDrawer.d.ts.map +1 -1
  164. package/dist/components/PanelDrawer/PanelDrawer.js +22 -76
  165. package/dist/components/PanelDrawer/PanelDrawer.js.map +1 -1
  166. package/dist/components/PanelDrawer/PanelEditorForm.d.ts +4 -1
  167. package/dist/components/PanelDrawer/PanelEditorForm.d.ts.map +1 -1
  168. package/dist/components/PanelDrawer/PanelEditorForm.js +223 -138
  169. package/dist/components/PanelDrawer/PanelEditorForm.js.map +1 -1
  170. package/dist/components/PanelDrawer/PanelPreview.d.ts.map +1 -1
  171. package/dist/components/PanelDrawer/PanelPreview.js +2 -2
  172. package/dist/components/PanelDrawer/PanelPreview.js.map +1 -1
  173. package/dist/components/PanelDrawer/index.js.map +1 -1
  174. package/dist/components/PanelDrawer/usePanelEditor.js.map +1 -1
  175. package/dist/components/PanelGroupDialog/PanelGroupDialog.js.map +1 -1
  176. package/dist/components/PanelGroupDialog/PanelGroupEditorForm.js.map +1 -1
  177. package/dist/components/PanelGroupDialog/index.js.map +1 -1
  178. package/dist/components/QuerySummaryTable/QuerySummaryTable.js +4 -4
  179. package/dist/components/QuerySummaryTable/QuerySummaryTable.js.map +1 -1
  180. package/dist/components/QuerySummaryTable/index.js.map +1 -1
  181. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js +4 -4
  182. package/dist/components/SaveChangesConfirmationDialog/SaveChangesConfirmationDialog.js.map +1 -1
  183. package/dist/components/SaveChangesConfirmationDialog/index.js.map +1 -1
  184. package/dist/components/SaveDashboardButton/SaveDashboardButton.js +4 -4
  185. package/dist/components/SaveDashboardButton/SaveDashboardButton.js.map +1 -1
  186. package/dist/components/SaveDashboardButton/index.js.map +1 -1
  187. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
  188. package/dist/components/TimeRangeControls/TimeRangeControls.js +19 -1
  189. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
  190. package/dist/components/TimeRangeControls/index.js.map +1 -1
  191. package/dist/components/ToolbarIconButton/ToolbarIconButton.js.map +1 -1
  192. package/dist/components/ToolbarIconButton/index.js.map +1 -1
  193. package/dist/components/Variables/BuiltinVariableAccordions.d.ts +8 -0
  194. package/dist/components/Variables/BuiltinVariableAccordions.d.ts.map +1 -0
  195. package/dist/components/Variables/BuiltinVariableAccordions.js +127 -0
  196. package/dist/components/Variables/BuiltinVariableAccordions.js.map +1 -0
  197. package/dist/components/Variables/EditVariablesButton.d.ts.map +1 -1
  198. package/dist/components/Variables/EditVariablesButton.js +6 -1
  199. package/dist/components/Variables/EditVariablesButton.js.map +1 -1
  200. package/dist/components/Variables/TemplateVariable.d.ts +12 -2
  201. package/dist/components/Variables/TemplateVariable.d.ts.map +1 -1
  202. package/dist/components/Variables/TemplateVariable.js +102 -61
  203. package/dist/components/Variables/TemplateVariable.js.map +1 -1
  204. package/dist/components/Variables/VariableEditor.d.ts +9 -1
  205. package/dist/components/Variables/VariableEditor.d.ts.map +1 -1
  206. package/dist/components/Variables/VariableEditor.js +326 -97
  207. package/dist/components/Variables/VariableEditor.js.map +1 -1
  208. package/dist/components/Variables/VariableList.d.ts +5 -0
  209. package/dist/components/Variables/VariableList.d.ts.map +1 -1
  210. package/dist/components/Variables/VariableList.js +32 -18
  211. package/dist/components/Variables/VariableList.js.map +1 -1
  212. package/dist/components/Variables/index.d.ts +1 -0
  213. package/dist/components/Variables/index.d.ts.map +1 -1
  214. package/dist/components/Variables/index.js +1 -0
  215. package/dist/components/Variables/index.js.map +1 -1
  216. package/dist/components/index.js.map +1 -1
  217. package/dist/constants/grid-layout-config.js.map +1 -1
  218. package/dist/constants/index.js.map +1 -1
  219. package/dist/constants/user-interface-text.js.map +1 -1
  220. package/dist/context/DashboardProvider/DashboardProvider.js +5 -5
  221. package/dist/context/DashboardProvider/DashboardProvider.js.map +1 -1
  222. package/dist/context/DashboardProvider/common.js.map +1 -1
  223. package/dist/context/DashboardProvider/dashboard-provider-api.js +2 -2
  224. package/dist/context/DashboardProvider/dashboard-provider-api.js.map +1 -1
  225. package/dist/context/DashboardProvider/delete-panel-group-slice.js.map +1 -1
  226. package/dist/context/DashboardProvider/delete-panel-slice.js +2 -2
  227. package/dist/context/DashboardProvider/delete-panel-slice.js.map +1 -1
  228. package/dist/context/DashboardProvider/discard-changes-dialog-slice.js.map +1 -1
  229. package/dist/context/DashboardProvider/duplicate-panel-slice.js.map +1 -1
  230. package/dist/context/DashboardProvider/edit-json-dialog-slice.js.map +1 -1
  231. package/dist/context/DashboardProvider/index.js.map +1 -1
  232. package/dist/context/DashboardProvider/panel-editor-slice.d.ts +2 -1
  233. package/dist/context/DashboardProvider/panel-editor-slice.d.ts.map +1 -1
  234. package/dist/context/DashboardProvider/panel-editor-slice.js +7 -7
  235. package/dist/context/DashboardProvider/panel-editor-slice.js.map +1 -1
  236. package/dist/context/DashboardProvider/panel-group-editor-slice.js +2 -2
  237. package/dist/context/DashboardProvider/panel-group-editor-slice.js.map +1 -1
  238. package/dist/context/DashboardProvider/panel-group-slice.js +3 -3
  239. package/dist/context/DashboardProvider/panel-group-slice.js.map +1 -1
  240. package/dist/context/DashboardProvider/panel-slice.js.map +1 -1
  241. package/dist/context/DashboardProvider/save-changes-dialog-slice.js.map +1 -1
  242. package/dist/context/DatasourceStoreProvider.d.ts +14 -10
  243. package/dist/context/DatasourceStoreProvider.d.ts.map +1 -1
  244. package/dist/context/DatasourceStoreProvider.js +107 -40
  245. package/dist/context/DatasourceStoreProvider.js.map +1 -1
  246. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts +48 -13
  247. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.d.ts.map +1 -1
  248. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js +165 -41
  249. package/dist/context/TemplateVariableProvider/TemplateVariableProvider.js.map +1 -1
  250. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts +9 -2
  251. package/dist/context/TemplateVariableProvider/hydrationUtils.d.ts.map +1 -1
  252. package/dist/context/TemplateVariableProvider/hydrationUtils.js +67 -12
  253. package/dist/context/TemplateVariableProvider/hydrationUtils.js.map +1 -1
  254. package/dist/context/TemplateVariableProvider/index.js.map +1 -1
  255. package/dist/context/TemplateVariableProvider/query-params.js.map +1 -1
  256. package/dist/context/TemplateVariableProvider/utils.d.ts +27 -2
  257. package/dist/context/TemplateVariableProvider/utils.d.ts.map +1 -1
  258. package/dist/context/TemplateVariableProvider/utils.js +48 -6
  259. package/dist/context/TemplateVariableProvider/utils.js.map +1 -1
  260. package/dist/context/index.js.map +1 -1
  261. package/dist/context/useDashboard.js +1 -1
  262. package/dist/context/useDashboard.js.map +1 -1
  263. package/dist/index.js.map +1 -1
  264. package/dist/stories/decorators/WithDashboard.js.map +1 -1
  265. package/dist/stories/decorators/WithDatasourceStore.js.map +1 -1
  266. package/dist/stories/decorators/WithTemplateVariables.js.map +1 -1
  267. package/dist/stories/decorators/constants.js +2 -2
  268. package/dist/stories/decorators/constants.js.map +1 -1
  269. package/dist/stories/decorators/index.js.map +1 -1
  270. package/dist/test/dashboard-provider.js.map +1 -1
  271. package/dist/test/datasource-provider.d.ts.map +1 -1
  272. package/dist/test/datasource-provider.js +5 -7
  273. package/dist/test/datasource-provider.js.map +1 -1
  274. package/dist/test/index.js.map +1 -1
  275. package/dist/test/plugin-registry.js.map +1 -1
  276. package/dist/test/render.d.ts.map +1 -1
  277. package/dist/test/render.js +8 -3
  278. package/dist/test/render.js.map +1 -1
  279. package/dist/test/setup-tests.js.map +1 -1
  280. package/dist/test/testDashboard.js +10 -10
  281. package/dist/test/testDashboard.js.map +1 -1
  282. package/dist/utils/index.js.map +1 -1
  283. package/dist/utils/panelUtils.js.map +1 -1
  284. package/dist/utils/time.js.map +1 -1
  285. package/dist/validation/index.d.ts +2 -0
  286. package/dist/validation/index.d.ts.map +1 -0
  287. package/dist/validation/index.js +15 -0
  288. package/dist/validation/index.js.map +1 -0
  289. package/dist/validation/panel.d.ts +19 -0
  290. package/dist/validation/panel.d.ts.map +1 -0
  291. package/dist/validation/panel.js +21 -0
  292. package/dist/validation/panel.js.map +1 -0
  293. package/dist/views/ViewDashboard/DashboardApp.d.ts +1 -0
  294. package/dist/views/ViewDashboard/DashboardApp.d.ts.map +1 -1
  295. package/dist/views/ViewDashboard/DashboardApp.js +11 -4
  296. package/dist/views/ViewDashboard/DashboardApp.js.map +1 -1
  297. package/dist/views/ViewDashboard/ViewDashboard.d.ts +3 -1
  298. package/dist/views/ViewDashboard/ViewDashboard.d.ts.map +1 -1
  299. package/dist/views/ViewDashboard/ViewDashboard.js +51 -8
  300. package/dist/views/ViewDashboard/ViewDashboard.js.map +1 -1
  301. package/dist/views/ViewDashboard/index.js.map +1 -1
  302. package/dist/views/index.js.map +1 -1
  303. package/package.json +8 -7
@@ -14,29 +14,45 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- Object.defineProperty(exports, "VariableEditor", {
18
- enumerable: true,
19
- get: ()=>VariableEditor
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
+ VariableEditor: function() {
25
+ return VariableEditor;
26
+ },
27
+ VariableName: function() {
28
+ return VariableName;
29
+ }
20
30
  });
21
- const _jsxRuntime = require("react/jsx-runtime");
31
+ const _jsxruntime = require("react/jsx-runtime");
22
32
  const _react = require("react");
23
33
  const _material = require("@mui/material");
24
- const _plus = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Plus"));
25
- const _useImmer = require("use-immer");
26
- const _pencil = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/Pencil"));
27
- const _trashCan = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/TrashCan"));
28
- const _arrowUp = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ArrowUp"));
29
- const _arrowDown = /*#__PURE__*/ _interopRequireDefault(require("mdi-material-ui/ArrowDown"));
30
- const _pluginSystem = require("@perses-dev/plugin-system");
34
+ const _Plus = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Plus"));
35
+ const _useimmer = require("use-immer");
36
+ const _Pencil = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Pencil"));
37
+ const _TrashCan = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/TrashCan"));
38
+ const _ArrowUp = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ArrowUp"));
39
+ const _ArrowDown = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ArrowDown"));
40
+ const _ContentDuplicate = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ContentDuplicate"));
41
+ const _OpenInNew = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/OpenInNew"));
42
+ const _ChevronUp = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ChevronUp"));
43
+ const _pluginsystem = require("@perses-dev/plugin-system");
44
+ const _components = require("@perses-dev/components");
31
45
  const _context = require("../../context");
32
- function _interopRequireDefault(obj) {
46
+ const _hydrationUtils = require("../../context/TemplateVariableProvider/hydrationUtils");
47
+ const _BuiltinVariableAccordions = require("./BuiltinVariableAccordions");
48
+ function _interop_require_default(obj) {
33
49
  return obj && obj.__esModule ? obj : {
34
50
  default: obj
35
51
  };
36
52
  }
37
53
  function getVariableLabelByKind(kind) {
38
- var ref;
39
- return (ref = _pluginSystem.VARIABLE_TYPES.find((variableType)=>variableType.kind === kind)) === null || ref === void 0 ? void 0 : ref.label;
54
+ var _VARIABLE_TYPES_find;
55
+ return (_VARIABLE_TYPES_find = _pluginsystem.VARIABLE_TYPES.find((variableType)=>variableType.kind === kind)) === null || _VARIABLE_TYPES_find === void 0 ? void 0 : _VARIABLE_TYPES_find.label;
40
56
  }
41
57
  function getValidation(variableDefinitions) {
42
58
  const errors = [];
@@ -51,12 +67,22 @@ function getValidation(variableDefinitions) {
51
67
  };
52
68
  }
53
69
  function VariableEditor(props) {
54
- const [variableDefinitions, setVariableDefinitions] = (0, _useImmer.useImmer)(props.variableDefinitions);
70
+ const [variableDefinitions, setVariableDefinitions] = (0, _useimmer.useImmer)(props.variableDefinitions);
55
71
  const [variableEditIdx, setVariableEditIdx] = (0, _react.useState)(null);
56
72
  const [variableFormAction, setVariableFormAction] = (0, _react.useState)('update');
73
+ const externalVariableDefinitions = props.externalVariableDefinitions;
74
+ const builtinVariableDefinitions = props.builtinVariableDefinitions;
57
75
  const validation = (0, _react.useMemo)(()=>getValidation(variableDefinitions), [
58
76
  variableDefinitions
59
77
  ]);
78
+ const [variableState] = (0, _react.useMemo)(()=>{
79
+ return [
80
+ (0, _hydrationUtils.hydrateTemplateVariableStates)(variableDefinitions, {}, externalVariableDefinitions)
81
+ ];
82
+ }, [
83
+ externalVariableDefinitions,
84
+ variableDefinitions
85
+ ]);
60
86
  const currentEditingVariableDefinition = typeof variableEditIdx === 'number' && variableDefinitions[variableEditIdx];
61
87
  const { openDiscardChangesConfirmationDialog , closeDiscardChangesConfirmationDialog } = (0, _context.useDiscardChangesConfirmationDialog)();
62
88
  const handleCancel = ()=>{
@@ -124,37 +150,43 @@ function VariableEditor(props) {
124
150
  draft[index] = prevElement;
125
151
  } else {
126
152
  const nextElement = draft[index + 1];
127
- const currentElement1 = draft[index];
128
- if (index === draft.length - 1 || !nextElement || !currentElement1) {
153
+ const currentElement = draft[index];
154
+ if (index === draft.length - 1 || !nextElement || !currentElement) {
129
155
  return;
130
156
  }
131
- draft[index + 1] = currentElement1;
157
+ draft[index + 1] = currentElement;
132
158
  draft[index] = nextElement;
133
159
  }
134
160
  });
135
161
  };
136
- var ref;
137
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
162
+ const overrideVariable = (v)=>{
163
+ setVariableDefinitions((draft)=>{
164
+ draft.push(v);
165
+ });
166
+ };
167
+ var _getVariableLabelByKind, _v_spec_display_description, _getVariableLabelByKind1, _v_spec_display_description1;
168
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
138
169
  children: [
139
- currentEditingVariableDefinition && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pluginSystem.VariableEditForm, {
170
+ currentEditingVariableDefinition && /*#__PURE__*/ (0, _jsxruntime.jsx)(_pluginsystem.VariableEditorForm, {
140
171
  initialVariableDefinition: currentEditingVariableDefinition,
141
- onChange: (definition)=>{
172
+ initialAction: variableFormAction,
173
+ isDraft: true,
174
+ onSave: (definition)=>{
142
175
  setVariableDefinitions((draft)=>{
143
176
  draft[variableEditIdx] = definition;
144
177
  setVariableEditIdx(null);
145
178
  });
146
179
  },
147
- onCancel: ()=>{
180
+ onClose: ()=>{
148
181
  if (variableFormAction === 'create') {
149
182
  removeVariable(variableEditIdx);
150
183
  }
151
184
  setVariableEditIdx(null);
152
- },
153
- action: variableFormAction
185
+ }
154
186
  }),
155
- !currentEditingVariableDefinition && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
187
+ !currentEditingVariableDefinition && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
156
188
  children: [
157
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Box, {
189
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Box, {
158
190
  sx: {
159
191
  display: 'flex',
160
192
  alignItems: 'center',
@@ -162,16 +194,16 @@ function VariableEditor(props) {
162
194
  borderBottom: (theme)=>`1px solid ${theme.palette.divider}`
163
195
  },
164
196
  children: [
165
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Typography, {
197
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
166
198
  variant: "h2",
167
- children: "Variables"
199
+ children: "Edit Dashboard Variables"
168
200
  }),
169
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
201
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
170
202
  direction: "row",
171
203
  spacing: 1,
172
204
  marginLeft: "auto",
173
205
  children: [
174
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
206
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
175
207
  disabled: props.variableDefinitions === variableDefinitions || !validation.isValid,
176
208
  variant: "contained",
177
209
  onClick: ()=>{
@@ -179,7 +211,7 @@ function VariableEditor(props) {
179
211
  },
180
212
  children: "Apply"
181
213
  }),
182
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
214
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
183
215
  color: "secondary",
184
216
  variant: "outlined",
185
217
  onClick: handleCancel,
@@ -189,110 +221,291 @@ function VariableEditor(props) {
189
221
  })
190
222
  ]
191
223
  }),
192
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
224
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
193
225
  padding: 2,
194
226
  sx: {
195
227
  overflowY: 'scroll'
196
228
  },
197
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Stack, {
229
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
198
230
  spacing: 2,
199
231
  children: [
200
- !validation.isValid && validation.errors.map((error)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Alert, {
201
- severity: "error",
202
- children: error
203
- }, error)),
204
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TableContainer, {
205
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.Table, {
206
- sx: {
207
- minWidth: 650
208
- },
209
- "aria-label": "table of variables",
210
- children: [
211
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TableHead, {
212
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_material.TableRow, {
213
- children: [
214
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
215
- children: "Visibility"
216
- }),
217
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
218
- children: "Name"
219
- }),
220
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
221
- children: "Type"
222
- }),
223
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
224
- align: "right"
225
- })
226
- ]
227
- })
228
- }),
229
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.TableBody, {
230
- children: variableDefinitions.map((v, idx)=>{
231
- var ref1;
232
- /*#__PURE__*/ return (0, _jsxRuntime.jsxs)(_material.TableRow, {
233
- children: [
234
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
235
- component: "th",
236
- scope: "row",
237
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Switch, {
238
- checked: ((ref1 = v.spec.display) === null || ref1 === void 0 ? void 0 : ref1.hidden) !== true,
239
- onChange: (e)=>{
240
- toggleVariableVisibility(idx, e.target.checked);
241
- }
232
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
233
+ spacing: 2,
234
+ children: [
235
+ !validation.isValid && validation.errors.map((error)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Alert, {
236
+ severity: "error",
237
+ children: error
238
+ }, error)),
239
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableContainer, {
240
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Table, {
241
+ sx: {
242
+ minWidth: 650
243
+ },
244
+ "aria-label": "table of variables",
245
+ children: [
246
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableHead, {
247
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.TableRow, {
248
+ children: [
249
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
250
+ children: "Visibility"
251
+ }),
252
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
253
+ children: "Name"
254
+ }),
255
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
256
+ children: "Type"
257
+ }),
258
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
259
+ children: "Description"
260
+ }),
261
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
262
+ align: "right",
263
+ children: "Actions"
242
264
  })
243
- }),
244
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
245
- component: "th",
246
- scope: "row",
247
- sx: {
248
- fontWeight: 'bold'
249
- },
250
- children: v.spec.name
251
- }),
252
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(TableCell, {
253
- children: (ref = getVariableLabelByKind(v.kind)) !== null && ref !== void 0 ? ref : v.kind
254
- }),
255
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(TableCell, {
256
- align: "right",
265
+ ]
266
+ })
267
+ }),
268
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableBody, {
269
+ children: variableDefinitions.map((v, idx)=>{
270
+ var _v_spec_display, _v_spec_display1;
271
+ /*#__PURE__*/ return (0, _jsxruntime.jsxs)(_material.TableRow, {
257
272
  children: [
258
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
259
- onClick: ()=>changeVariableOrder(idx, 'up'),
260
- disabled: idx === 0,
261
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_arrowUp.default, {})
273
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
274
+ component: "th",
275
+ scope: "row",
276
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Switch, {
277
+ checked: ((_v_spec_display = v.spec.display) === null || _v_spec_display === void 0 ? void 0 : _v_spec_display.hidden) !== true,
278
+ onChange: (e)=>{
279
+ toggleVariableVisibility(idx, e.target.checked);
280
+ }
281
+ })
262
282
  }),
263
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
264
- onClick: ()=>changeVariableOrder(idx, 'down'),
265
- disabled: idx === variableDefinitions.length - 1,
266
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_arrowDown.default, {})
283
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
284
+ component: "th",
285
+ scope: "row",
286
+ sx: {
287
+ fontWeight: 'bold'
288
+ },
289
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(VariableName, {
290
+ name: v.spec.name,
291
+ state: variableState.get({
292
+ name: v.spec.name
293
+ })
294
+ })
267
295
  }),
268
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
269
- onClick: ()=>editVariable(idx),
270
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_pencil.default, {})
296
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
297
+ children: (_getVariableLabelByKind = getVariableLabelByKind(v.kind)) !== null && _getVariableLabelByKind !== void 0 ? _getVariableLabelByKind : v.kind
271
298
  }),
272
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.IconButton, {
273
- onClick: ()=>removeVariable(idx),
274
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_trashCan.default, {})
299
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
300
+ children: (_v_spec_display_description = (_v_spec_display1 = v.spec.display) === null || _v_spec_display1 === void 0 ? void 0 : _v_spec_display1.description) !== null && _v_spec_display_description !== void 0 ? _v_spec_display_description : ''
301
+ }),
302
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(TableCell, {
303
+ align: "right",
304
+ sx: {
305
+ display: 'flex',
306
+ flexDirection: 'row',
307
+ flexGrow: 1
308
+ },
309
+ children: [
310
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
311
+ onClick: ()=>changeVariableOrder(idx, 'up'),
312
+ disabled: idx === 0,
313
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ArrowUp.default, {})
314
+ }),
315
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
316
+ onClick: ()=>changeVariableOrder(idx, 'down'),
317
+ disabled: idx === variableDefinitions.length - 1,
318
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ArrowDown.default, {})
319
+ }),
320
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
321
+ onClick: ()=>editVariable(idx),
322
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Pencil.default, {})
323
+ }),
324
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
325
+ onClick: ()=>removeVariable(idx),
326
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TrashCan.default, {})
327
+ })
328
+ ]
329
+ })
330
+ ]
331
+ }, v.spec.name);
332
+ })
333
+ })
334
+ ]
335
+ })
336
+ }),
337
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
338
+ display: "flex",
339
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
340
+ variant: "contained",
341
+ startIcon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Plus.default, {}),
342
+ sx: {
343
+ marginLeft: 'auto'
344
+ },
345
+ onClick: addVariable,
346
+ children: "Add Variable"
347
+ })
348
+ })
349
+ ]
350
+ }),
351
+ externalVariableDefinitions && !externalVariableDefinitions.every((v)=>v.definitions.length === 0) && externalVariableDefinitions.map((extVar)=>{
352
+ return extVar.definitions.length > 0 && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Accordion, {
353
+ sx: (theme)=>({
354
+ '.MuiAccordionSummary-root': {
355
+ backgroundColor: theme.palette.background.lighter
356
+ },
357
+ '.MuiAccordionDetails-root': {
358
+ backgroundColor: theme.palette.background.lighter
359
+ }
360
+ }),
361
+ children: [
362
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.AccordionSummary, {
363
+ expandIcon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ChevronUp.default, {}),
364
+ "aria-controls": extVar.source,
365
+ id: extVar.source,
366
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
367
+ flexDirection: "row",
368
+ alignItems: "center",
369
+ justifyContent: "start",
370
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
371
+ children: [
372
+ extVar.tooltip ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
373
+ variant: "h2",
374
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.InfoTooltip, {
375
+ title: extVar.tooltip.title || '',
376
+ description: extVar.tooltip.description || '',
377
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("span", {
378
+ children: [
379
+ (0, _material.capitalize)(extVar.source),
380
+ " Variables"
381
+ ]
275
382
  })
383
+ })
384
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
385
+ variant: "h2",
386
+ children: [
387
+ (0, _material.capitalize)(extVar.source),
388
+ " Variables"
276
389
  ]
390
+ }),
391
+ extVar.editLink && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
392
+ href: extVar.editLink,
393
+ target: "_blank",
394
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_OpenInNew.default, {
395
+ fontSize: "small"
396
+ })
397
+ })
398
+ ]
399
+ })
400
+ })
401
+ }),
402
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.AccordionDetails, {
403
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableContainer, {
404
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Table, {
405
+ sx: {
406
+ minWidth: 650
407
+ },
408
+ "aria-label": "table of external variables",
409
+ children: [
410
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableHead, {
411
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.TableRow, {
412
+ children: [
413
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
414
+ children: "Visibility"
415
+ }),
416
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
417
+ children: "Name"
418
+ }),
419
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
420
+ children: "Type"
421
+ }),
422
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
423
+ children: "Description"
424
+ }),
425
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
426
+ align: "right",
427
+ children: "Actions"
428
+ })
429
+ ]
430
+ })
431
+ }),
432
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TableBody, {
433
+ children: extVar.definitions.map((v)=>{
434
+ var _v_spec_display, _v_spec_display1;
435
+ /*#__PURE__*/ return (0, _jsxruntime.jsxs)(_material.TableRow, {
436
+ children: [
437
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
438
+ component: "th",
439
+ scope: "row",
440
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Switch, {
441
+ checked: ((_v_spec_display = v.spec.display) === null || _v_spec_display === void 0 ? void 0 : _v_spec_display.hidden) !== true,
442
+ disabled: true
443
+ })
444
+ }),
445
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
446
+ component: "th",
447
+ scope: "row",
448
+ sx: {
449
+ fontWeight: 'bold'
450
+ },
451
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(VariableName, {
452
+ name: v.spec.name,
453
+ state: variableState.get({
454
+ name: v.spec.name,
455
+ source: extVar.source
456
+ })
457
+ })
458
+ }),
459
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
460
+ children: (_getVariableLabelByKind1 = getVariableLabelByKind(v.kind)) !== null && _getVariableLabelByKind1 !== void 0 ? _getVariableLabelByKind1 : v.kind
461
+ }),
462
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(TableCell, {
463
+ children: (_v_spec_display_description1 = (_v_spec_display1 = v.spec.display) === null || _v_spec_display1 === void 0 ? void 0 : _v_spec_display1.description) !== null && _v_spec_display_description1 !== void 0 ? _v_spec_display_description1 : ''
464
+ }),
465
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(TableCell, {
466
+ align: "right",
467
+ children: [
468
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Tooltip, {
469
+ title: "Override",
470
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
471
+ onClick: ()=>overrideVariable(v),
472
+ disabled: !!variableState.get({
473
+ name: v.spec.name
474
+ }),
475
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ContentDuplicate.default, {})
476
+ })
477
+ }),
478
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
479
+ disabled: true,
480
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ArrowUp.default, {})
481
+ }),
482
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
483
+ disabled: true,
484
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ArrowDown.default, {})
485
+ }),
486
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
487
+ disabled: true,
488
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Pencil.default, {})
489
+ }),
490
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
491
+ disabled: true,
492
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TrashCan.default, {})
493
+ })
494
+ ]
495
+ })
496
+ ]
497
+ }, v.spec.name);
498
+ })
277
499
  })
278
500
  ]
279
- }, v.spec.name);
501
+ })
280
502
  })
281
503
  })
282
504
  ]
283
- })
505
+ });
284
506
  }),
285
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Box, {
286
- display: "flex",
287
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_material.Button, {
288
- variant: "contained",
289
- startIcon: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plus.default, {}),
290
- sx: {
291
- marginLeft: 'auto'
292
- },
293
- onClick: addVariable,
294
- children: "Add Variable"
295
- })
507
+ builtinVariableDefinitions && /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuiltinVariableAccordions.BuiltinVariableAccordions, {
508
+ builtinVariableDefinitions: builtinVariableDefinitions
296
509
  })
297
510
  ]
298
511
  })
@@ -305,3 +518,29 @@ function VariableEditor(props) {
305
518
  const TableCell = (0, _material.styled)(_material.TableCell)(({ theme })=>({
306
519
  borderBottom: `solid 1px ${theme.palette.divider}`
307
520
  }));
521
+ function VariableName(props) {
522
+ const { name , state } = props;
523
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
524
+ children: [
525
+ !(state === null || state === void 0 ? void 0 : state.overridden) && `${name} `,
526
+ !(state === null || state === void 0 ? void 0 : state.overridden) && (state === null || state === void 0 ? void 0 : state.overriding) && /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
527
+ fontWeight: "normal",
528
+ color: (theme)=>theme.palette.primary.main,
529
+ children: "(overriding)"
530
+ }),
531
+ (state === null || state === void 0 ? void 0 : state.overridden) && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
532
+ children: [
533
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
534
+ color: (theme)=>theme.palette.grey[500],
535
+ children: name
536
+ }),
537
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Box, {
538
+ fontWeight: "normal",
539
+ color: (theme)=>theme.palette.grey[500],
540
+ children: "(overridden)"
541
+ })
542
+ ]
543
+ })
544
+ ]
545
+ });
546
+ }