@perses-dev/plugin-system 0.55.0-beta.1 → 0.55.0-beta.10

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 (571) hide show
  1. package/dist/components/Annotations/AnnotationEditorForm/AnnotationEditorForm.d.ts +3 -3
  2. package/dist/components/Annotations/AnnotationEditorForm/AnnotationEditorForm.d.ts.map +1 -1
  3. package/dist/components/Annotations/AnnotationEditorForm/AnnotationEditorForm.js +11 -11
  4. package/dist/components/Annotations/AnnotationEditorForm/AnnotationEditorForm.js.map +1 -1
  5. package/dist/components/Annotations/AnnotationEditorForm/AnnotationPreview.d.ts +3 -3
  6. package/dist/components/Annotations/AnnotationEditorForm/AnnotationPreview.d.ts.map +1 -1
  7. package/dist/components/Annotations/AnnotationEditorForm/AnnotationPreview.js +6 -6
  8. package/dist/components/Annotations/AnnotationEditorForm/AnnotationPreview.js.map +1 -1
  9. package/dist/components/Annotations/AnnotationEditorForm/index.js +1 -1
  10. package/dist/components/Annotations/AnnotationEditorForm/index.js.map +1 -1
  11. package/dist/components/Annotations/index.js +2 -2
  12. package/dist/components/Annotations/index.js.map +1 -1
  13. package/dist/components/CalculationSelector/CalculationSelector.d.ts +2 -2
  14. package/dist/components/CalculationSelector/CalculationSelector.d.ts.map +1 -1
  15. package/dist/components/CalculationSelector/CalculationSelector.js +2 -2
  16. package/dist/components/CalculationSelector/CalculationSelector.js.map +1 -1
  17. package/dist/components/CalculationSelector/index.js +1 -1
  18. package/dist/components/CalculationSelector/index.js.map +1 -1
  19. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts +3 -2
  20. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts.map +1 -1
  21. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js +10 -9
  22. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js.map +1 -1
  23. package/dist/components/DatasourceEditorForm/index.js +1 -1
  24. package/dist/components/DatasourceEditorForm/index.js.map +1 -1
  25. package/dist/components/DatasourceSelect/DatasourceSelect.d.ts +4 -4
  26. package/dist/components/DatasourceSelect/DatasourceSelect.d.ts.map +1 -1
  27. package/dist/components/DatasourceSelect/DatasourceSelect.js +7 -7
  28. package/dist/components/DatasourceSelect/DatasourceSelect.js.map +1 -1
  29. package/dist/components/DatasourceSelect/index.js +1 -1
  30. package/dist/components/DatasourceSelect/index.js.map +1 -1
  31. package/dist/components/DatasourceTestConnectionButton/DatasourceTestConnectionButton.d.ts +8 -0
  32. package/dist/components/DatasourceTestConnectionButton/DatasourceTestConnectionButton.d.ts.map +1 -0
  33. package/dist/components/DatasourceTestConnectionButton/DatasourceTestConnectionButton.js +45 -0
  34. package/dist/components/DatasourceTestConnectionButton/DatasourceTestConnectionButton.js.map +1 -0
  35. package/dist/components/DatasourceTestConnectionButton/index.d.ts +2 -0
  36. package/dist/components/DatasourceTestConnectionButton/index.d.ts.map +1 -0
  37. package/dist/{cjs/model/alerts-queries.js → components/DatasourceTestConnectionButton/index.js} +3 -4
  38. package/dist/components/DatasourceTestConnectionButton/index.js.map +1 -0
  39. package/dist/components/HTTPSettingsEditor/HTTPHeaderPolicyEditor.d.ts +10 -0
  40. package/dist/components/HTTPSettingsEditor/HTTPHeaderPolicyEditor.d.ts.map +1 -0
  41. package/dist/components/HTTPSettingsEditor/HTTPHeaderPolicyEditor.js +99 -0
  42. package/dist/components/HTTPSettingsEditor/HTTPHeaderPolicyEditor.js.map +1 -0
  43. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.d.ts +4 -2
  44. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.d.ts.map +1 -1
  45. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.js +91 -41
  46. package/dist/components/HTTPSettingsEditor/HTTPSettingsEditor.js.map +1 -1
  47. package/dist/components/HTTPSettingsEditor/index.js +1 -1
  48. package/dist/components/HTTPSettingsEditor/index.js.map +1 -1
  49. package/dist/components/ItemSelectionActionsOptionsEditor/ItemSelectionActionsOptionsEditor.d.ts +1 -1
  50. package/dist/components/ItemSelectionActionsOptionsEditor/ItemSelectionActionsOptionsEditor.d.ts.map +1 -1
  51. package/dist/components/ItemSelectionActionsOptionsEditor/ItemSelectionActionsOptionsEditor.js +28 -28
  52. package/dist/components/ItemSelectionActionsOptionsEditor/ItemSelectionActionsOptionsEditor.js.map +1 -1
  53. package/dist/components/ItemSelectionActionsOptionsEditor/index.js +1 -1
  54. package/dist/components/ItemSelectionActionsOptionsEditor/index.js.map +1 -1
  55. package/dist/components/LayoutEditor/LayoutEditor.d.ts +16 -0
  56. package/dist/components/LayoutEditor/LayoutEditor.d.ts.map +1 -0
  57. package/dist/components/LayoutEditor/LayoutEditor.js +115 -0
  58. package/dist/components/LayoutEditor/LayoutEditor.js.map +1 -0
  59. package/dist/components/LayoutEditor/RepeatLayoutPreview.d.ts +7 -0
  60. package/dist/components/LayoutEditor/RepeatLayoutPreview.d.ts.map +1 -0
  61. package/dist/components/LayoutEditor/RepeatLayoutPreview.js +92 -0
  62. package/dist/components/LayoutEditor/RepeatLayoutPreview.js.map +1 -0
  63. package/dist/components/LayoutEditor/RepeatVariableEditor.d.ts +18 -0
  64. package/dist/components/LayoutEditor/RepeatVariableEditor.d.ts.map +1 -0
  65. package/dist/components/LayoutEditor/RepeatVariableEditor.js +168 -0
  66. package/dist/components/LayoutEditor/RepeatVariableEditor.js.map +1 -0
  67. package/dist/components/LayoutEditor/index.d.ts +4 -0
  68. package/dist/components/LayoutEditor/index.d.ts.map +1 -0
  69. package/dist/{cjs/model/explore.js → components/LayoutEditor/index.js} +5 -4
  70. package/dist/components/LayoutEditor/index.js.map +1 -0
  71. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.d.ts +2 -2
  72. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.d.ts.map +1 -1
  73. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js +5 -5
  74. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js.map +1 -1
  75. package/dist/components/LegendOptionsEditor/index.js +1 -1
  76. package/dist/components/LegendOptionsEditor/index.js.map +1 -1
  77. package/dist/components/LinksEditor/LinksEditor.d.ts +3 -3
  78. package/dist/components/LinksEditor/LinksEditor.d.ts.map +1 -1
  79. package/dist/components/LinksEditor/LinksEditor.js +6 -6
  80. package/dist/components/LinksEditor/LinksEditor.js.map +1 -1
  81. package/dist/components/LinksEditor/index.js +1 -1
  82. package/dist/components/LinksEditor/index.js.map +1 -1
  83. package/dist/components/MetricLabelInput/MetricLabelInput.d.ts +1 -1
  84. package/dist/components/MetricLabelInput/MetricLabelInput.d.ts.map +1 -1
  85. package/dist/components/MetricLabelInput/MetricLabelInput.js +2 -2
  86. package/dist/components/MetricLabelInput/MetricLabelInput.js.map +1 -1
  87. package/dist/components/MetricLabelInput/index.js +1 -1
  88. package/dist/components/MetricLabelInput/index.js.map +1 -1
  89. package/dist/components/MultiQueryEditor/MultiQueryEditor.d.ts +3 -4
  90. package/dist/components/MultiQueryEditor/MultiQueryEditor.d.ts.map +1 -1
  91. package/dist/components/MultiQueryEditor/MultiQueryEditor.js +12 -9
  92. package/dist/components/MultiQueryEditor/MultiQueryEditor.js.map +1 -1
  93. package/dist/components/MultiQueryEditor/QueryEditorContainer.d.ts +3 -4
  94. package/dist/components/MultiQueryEditor/QueryEditorContainer.d.ts.map +1 -1
  95. package/dist/components/MultiQueryEditor/QueryEditorContainer.js +14 -14
  96. package/dist/components/MultiQueryEditor/QueryEditorContainer.js.map +1 -1
  97. package/dist/components/MultiQueryEditor/index.js +2 -2
  98. package/dist/components/MultiQueryEditor/index.js.map +1 -1
  99. package/dist/components/MultiQueryEditor/utils.d.ts +1 -1
  100. package/dist/components/MultiQueryEditor/utils.d.ts.map +1 -1
  101. package/dist/components/MultiQueryEditor/utils.js.map +1 -1
  102. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts +1 -1
  103. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts.map +1 -1
  104. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js +4 -4
  105. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js.map +1 -1
  106. package/dist/components/OptionsEditorRadios/index.js +1 -1
  107. package/dist/components/OptionsEditorRadios/index.js.map +1 -1
  108. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts +1 -1
  109. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts.map +1 -1
  110. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js +1 -1
  111. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js.map +1 -1
  112. package/dist/components/OptionsEditorTabPanel/index.js +1 -1
  113. package/dist/components/OptionsEditorTabPanel/index.js.map +1 -1
  114. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.d.ts +1 -1
  115. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.d.ts.map +1 -1
  116. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js +4 -4
  117. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js.map +1 -1
  118. package/dist/components/OptionsEditorTabs/index.js +1 -1
  119. package/dist/components/OptionsEditorTabs/index.js.map +1 -1
  120. package/dist/components/PanelSpecEditor/PanelAnnotationsEditor.d.ts +2 -2
  121. package/dist/components/PanelSpecEditor/PanelAnnotationsEditor.d.ts.map +1 -1
  122. package/dist/components/PanelSpecEditor/PanelAnnotationsEditor.js +9 -9
  123. package/dist/components/PanelSpecEditor/PanelAnnotationsEditor.js.map +1 -1
  124. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts +8 -5
  125. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts.map +1 -1
  126. package/dist/components/PanelSpecEditor/PanelSpecEditor.js +23 -11
  127. package/dist/components/PanelSpecEditor/PanelSpecEditor.js.map +1 -1
  128. package/dist/components/PanelSpecEditor/index.js +1 -1
  129. package/dist/components/PanelSpecEditor/index.js.map +1 -1
  130. package/dist/components/PluginEditor/PluginEditor.d.ts +2 -2
  131. package/dist/components/PluginEditor/PluginEditor.d.ts.map +1 -1
  132. package/dist/components/PluginEditor/PluginEditor.js +10 -9
  133. package/dist/components/PluginEditor/PluginEditor.js.map +1 -1
  134. package/dist/components/PluginEditor/index.js +2 -2
  135. package/dist/components/PluginEditor/index.js.map +1 -1
  136. package/dist/components/PluginEditor/plugin-editor-api.d.ts +4 -3
  137. package/dist/components/PluginEditor/plugin-editor-api.d.ts.map +1 -1
  138. package/dist/components/PluginEditor/plugin-editor-api.js +4 -4
  139. package/dist/components/PluginEditor/plugin-editor-api.js.map +1 -1
  140. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts +3 -4
  141. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts.map +1 -1
  142. package/dist/components/PluginKindSelect/PluginKindSelect.js +6 -6
  143. package/dist/components/PluginKindSelect/PluginKindSelect.js.map +1 -1
  144. package/dist/components/PluginKindSelect/index.js +1 -1
  145. package/dist/components/PluginKindSelect/index.js.map +1 -1
  146. package/dist/components/PluginRegistry/PluginRegistry.d.ts +2 -2
  147. package/dist/components/PluginRegistry/PluginRegistry.d.ts.map +1 -1
  148. package/dist/components/PluginRegistry/PluginRegistry.js +5 -5
  149. package/dist/components/PluginRegistry/PluginRegistry.js.map +1 -1
  150. package/dist/components/PluginRegistry/getPluginSearchHelper.d.ts +2 -2
  151. package/dist/components/PluginRegistry/getPluginSearchHelper.d.ts.map +1 -1
  152. package/dist/components/PluginRegistry/getPluginSearchHelper.js +2 -2
  153. package/dist/components/PluginRegistry/getPluginSearchHelper.js.map +1 -1
  154. package/dist/components/PluginRegistry/index.js +1 -1
  155. package/dist/components/PluginRegistry/index.js.map +1 -1
  156. package/dist/components/PluginRegistry/plugin-indexes.d.ts +2 -1
  157. package/dist/components/PluginRegistry/plugin-indexes.d.ts.map +1 -1
  158. package/dist/components/PluginRegistry/plugin-indexes.js +3 -3
  159. package/dist/components/PluginRegistry/plugin-indexes.js.map +1 -1
  160. package/dist/components/PluginSpecEditor/DatasourceSpecEditor.d.ts +10 -0
  161. package/dist/components/PluginSpecEditor/DatasourceSpecEditor.d.ts.map +1 -0
  162. package/dist/components/PluginSpecEditor/DatasourceSpecEditor.js +62 -0
  163. package/dist/components/PluginSpecEditor/DatasourceSpecEditor.js.map +1 -0
  164. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts +5 -4
  165. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts.map +1 -1
  166. package/dist/components/PluginSpecEditor/PluginSpecEditor.js +19 -5
  167. package/dist/components/PluginSpecEditor/PluginSpecEditor.js.map +1 -1
  168. package/dist/components/PluginSpecEditor/index.js +1 -1
  169. package/dist/components/PluginSpecEditor/index.js.map +1 -1
  170. package/dist/components/SelectionOptionsEditor/SelectionOptionsEditor.d.ts +1 -1
  171. package/dist/components/SelectionOptionsEditor/SelectionOptionsEditor.d.ts.map +1 -1
  172. package/dist/components/SelectionOptionsEditor/SelectionOptionsEditor.js +3 -3
  173. package/dist/components/SelectionOptionsEditor/SelectionOptionsEditor.js.map +1 -1
  174. package/dist/components/SelectionOptionsEditor/index.js +1 -1
  175. package/dist/components/SelectionOptionsEditor/index.js.map +1 -1
  176. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts +4 -4
  177. package/dist/components/TimeRangeControls/TimeRangeControls.d.ts.map +1 -1
  178. package/dist/components/TimeRangeControls/TimeRangeControls.js +18 -55
  179. package/dist/components/TimeRangeControls/TimeRangeControls.js.map +1 -1
  180. package/dist/components/TimeRangeControls/index.js +1 -1
  181. package/dist/components/TimeRangeControls/index.js.map +1 -1
  182. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +3 -3
  183. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
  184. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +11 -11
  185. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  186. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts +2 -2
  187. package/dist/components/Variables/VariableEditorForm/VariablePreview.d.ts.map +1 -1
  188. package/dist/components/Variables/VariableEditorForm/VariablePreview.js +8 -7
  189. package/dist/components/Variables/VariableEditorForm/VariablePreview.js.map +1 -1
  190. package/dist/components/Variables/VariableEditorForm/index.js +3 -3
  191. package/dist/components/Variables/VariableEditorForm/index.js.map +1 -1
  192. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +2 -2
  193. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  194. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +6 -6
  195. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  196. package/dist/components/Variables/index.js +2 -2
  197. package/dist/components/Variables/index.js.map +1 -1
  198. package/dist/components/Variables/variable-model.d.ts +8 -8
  199. package/dist/components/Variables/variable-model.d.ts.map +1 -1
  200. package/dist/components/Variables/variable-model.js +3 -3
  201. package/dist/components/Variables/variable-model.js.map +1 -1
  202. package/dist/components/index.d.ts +2 -0
  203. package/dist/components/index.d.ts.map +1 -1
  204. package/dist/components/index.js +21 -19
  205. package/dist/components/index.js.map +1 -1
  206. package/dist/constants/index.d.ts +1 -0
  207. package/dist/constants/index.d.ts.map +1 -1
  208. package/dist/constants/index.js +2 -1
  209. package/dist/constants/index.js.map +1 -1
  210. package/dist/constants/repeat.d.ts +3 -0
  211. package/dist/constants/repeat.d.ts.map +1 -0
  212. package/dist/{cjs/model/datasource.js → constants/repeat.js} +4 -4
  213. package/dist/constants/repeat.js.map +1 -0
  214. package/dist/constants/user-interface-text.d.ts.map +1 -1
  215. package/dist/context/ValidationProvider.d.ts +9 -9
  216. package/dist/context/ValidationProvider.d.ts.map +1 -1
  217. package/dist/context/ValidationProvider.js +6 -6
  218. package/dist/context/ValidationProvider.js.map +1 -1
  219. package/dist/context/index.js +1 -1
  220. package/dist/context/index.js.map +1 -1
  221. package/dist/index.js +9 -9
  222. package/dist/index.js.map +1 -1
  223. package/dist/model/alerts-queries.d.ts +4 -4
  224. package/dist/model/alerts-queries.d.ts.map +1 -1
  225. package/dist/model/alerts-queries.js.map +1 -1
  226. package/dist/model/annotations.d.ts +3 -3
  227. package/dist/model/annotations.d.ts.map +1 -1
  228. package/dist/model/annotations.js.map +1 -1
  229. package/dist/model/calculations.d.ts +1 -1
  230. package/dist/model/calculations.d.ts.map +1 -1
  231. package/dist/model/calculations.js.map +1 -1
  232. package/dist/model/datasource.d.ts +10 -3
  233. package/dist/model/datasource.d.ts.map +1 -1
  234. package/dist/model/datasource.js +1 -1
  235. package/dist/model/datasource.js.map +1 -1
  236. package/dist/model/explore.d.ts +2 -3
  237. package/dist/model/explore.d.ts.map +1 -1
  238. package/dist/model/explore.js.map +1 -1
  239. package/dist/model/index.d.ts +1 -0
  240. package/dist/model/index.d.ts.map +1 -1
  241. package/dist/model/index.js +17 -16
  242. package/dist/model/index.js.map +1 -1
  243. package/dist/model/json-queries.d.ts +29 -0
  244. package/dist/model/json-queries.d.ts.map +1 -0
  245. package/dist/{cjs/model/annotations.js → model/json-queries.js} +5 -4
  246. package/dist/model/json-queries.js.map +1 -0
  247. package/dist/model/legend.d.ts +3 -3
  248. package/dist/model/legend.d.ts.map +1 -1
  249. package/dist/model/legend.js +2 -2
  250. package/dist/model/legend.js.map +1 -1
  251. package/dist/model/log-queries.d.ts +3 -3
  252. package/dist/model/log-queries.d.ts.map +1 -1
  253. package/dist/model/log-queries.js.map +1 -1
  254. package/dist/model/panels.d.ts +13 -4
  255. package/dist/model/panels.d.ts.map +1 -1
  256. package/dist/model/panels.js.map +1 -1
  257. package/dist/model/plugin-base.d.ts +3 -3
  258. package/dist/model/plugin-base.d.ts.map +1 -1
  259. package/dist/model/plugin-base.js.map +1 -1
  260. package/dist/model/plugin-loading.d.ts +1 -1
  261. package/dist/model/plugin-loading.d.ts.map +1 -1
  262. package/dist/model/plugin-loading.js +1 -1
  263. package/dist/model/plugin-loading.js.map +1 -1
  264. package/dist/model/plugins.d.ts +15 -13
  265. package/dist/model/plugins.d.ts.map +1 -1
  266. package/dist/model/plugins.js.map +1 -1
  267. package/dist/model/profile-queries.d.ts +4 -4
  268. package/dist/model/profile-queries.d.ts.map +1 -1
  269. package/dist/model/profile-queries.js.map +1 -1
  270. package/dist/model/silences-queries.d.ts +4 -4
  271. package/dist/model/silences-queries.d.ts.map +1 -1
  272. package/dist/model/silences-queries.js.map +1 -1
  273. package/dist/model/time-series-queries.d.ts +4 -4
  274. package/dist/model/time-series-queries.d.ts.map +1 -1
  275. package/dist/model/time-series-queries.js.map +1 -1
  276. package/dist/model/trace-queries.d.ts +4 -4
  277. package/dist/model/trace-queries.d.ts.map +1 -1
  278. package/dist/model/trace-queries.js.map +1 -1
  279. package/dist/model/variables.d.ts +7 -3
  280. package/dist/model/variables.d.ts.map +1 -1
  281. package/dist/model/variables.js +1 -3
  282. package/dist/model/variables.js.map +1 -1
  283. package/dist/remote/PluginLoaderComponent.d.ts +1 -2
  284. package/dist/remote/PluginLoaderComponent.d.ts.map +1 -1
  285. package/dist/remote/PluginLoaderComponent.js +2 -2
  286. package/dist/remote/PluginLoaderComponent.js.map +1 -1
  287. package/dist/remote/PluginRuntime.d.ts +11 -2
  288. package/dist/remote/PluginRuntime.d.ts.map +1 -1
  289. package/dist/remote/PluginRuntime.js +84 -79
  290. package/dist/remote/PluginRuntime.js.map +1 -1
  291. package/dist/remote/index.d.ts +1 -0
  292. package/dist/remote/index.d.ts.map +1 -1
  293. package/dist/remote/index.js +3 -2
  294. package/dist/remote/index.js.map +1 -1
  295. package/dist/remote/remotePluginLoader.d.ts +2 -2
  296. package/dist/remote/remotePluginLoader.d.ts.map +1 -1
  297. package/dist/remote/remotePluginLoader.js +3 -3
  298. package/dist/remote/remotePluginLoader.js.map +1 -1
  299. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts +3 -3
  300. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts.map +1 -1
  301. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js +20 -12
  302. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js.map +1 -1
  303. package/dist/runtime/DataQueriesProvider/index.js +2 -2
  304. package/dist/runtime/DataQueriesProvider/index.js.map +1 -1
  305. package/dist/runtime/DataQueriesProvider/model.d.ts +3 -3
  306. package/dist/runtime/DataQueriesProvider/model.d.ts.map +1 -1
  307. package/dist/runtime/DataQueriesProvider/model.js.map +1 -1
  308. package/dist/runtime/RouterProvider.d.ts +2 -1
  309. package/dist/runtime/RouterProvider.d.ts.map +1 -1
  310. package/dist/runtime/RouterProvider.js +3 -3
  311. package/dist/runtime/RouterProvider.js.map +1 -1
  312. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts +3 -2
  313. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts.map +1 -1
  314. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js +22 -8
  315. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js.map +1 -1
  316. package/dist/runtime/TimeRangeProvider/TimeRangeProviders.d.ts +3 -2
  317. package/dist/runtime/TimeRangeProvider/TimeRangeProviders.d.ts.map +1 -1
  318. package/dist/runtime/TimeRangeProvider/TimeRangeProviders.js +5 -5
  319. package/dist/runtime/TimeRangeProvider/TimeRangeProviders.js.map +1 -1
  320. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.d.ts +13 -2
  321. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.d.ts.map +1 -1
  322. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js +65 -4
  323. package/dist/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js.map +1 -1
  324. package/dist/runtime/TimeRangeProvider/index.js +4 -4
  325. package/dist/runtime/TimeRangeProvider/index.js.map +1 -1
  326. package/dist/runtime/TimeRangeProvider/query-params.d.ts +3 -3
  327. package/dist/runtime/TimeRangeProvider/query-params.d.ts.map +1 -1
  328. package/dist/runtime/TimeRangeProvider/query-params.js +4 -4
  329. package/dist/runtime/TimeRangeProvider/query-params.js.map +1 -1
  330. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts +1 -1
  331. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts.map +1 -1
  332. package/dist/runtime/TimeRangeProvider/refresh-interval.js +2 -2
  333. package/dist/runtime/TimeRangeProvider/refresh-interval.js.map +1 -1
  334. package/dist/runtime/UsageMetricsProvider.d.ts +3 -3
  335. package/dist/runtime/UsageMetricsProvider.d.ts.map +1 -1
  336. package/dist/runtime/UsageMetricsProvider.js +3 -3
  337. package/dist/runtime/UsageMetricsProvider.js.map +1 -1
  338. package/dist/runtime/alerts-queries.d.ts +2 -2
  339. package/dist/runtime/alerts-queries.d.ts.map +1 -1
  340. package/dist/runtime/alerts-queries.js +5 -5
  341. package/dist/runtime/alerts-queries.js.map +1 -1
  342. package/dist/runtime/annotations.d.ts +2 -2
  343. package/dist/runtime/annotations.d.ts.map +1 -1
  344. package/dist/runtime/annotations.js +6 -6
  345. package/dist/runtime/annotations.js.map +1 -1
  346. package/dist/runtime/builtin-variables.d.ts +2 -3
  347. package/dist/runtime/builtin-variables.d.ts.map +1 -1
  348. package/dist/runtime/builtin-variables.js +1 -1
  349. package/dist/runtime/builtin-variables.js.map +1 -1
  350. package/dist/runtime/datasources.d.ts +2 -3
  351. package/dist/runtime/datasources.d.ts.map +1 -1
  352. package/dist/runtime/datasources.js +2 -2
  353. package/dist/runtime/datasources.js.map +1 -1
  354. package/dist/runtime/index.d.ts +1 -0
  355. package/dist/runtime/index.d.ts.map +1 -1
  356. package/dist/runtime/index.js +16 -15
  357. package/dist/runtime/index.js.map +1 -1
  358. package/dist/runtime/item-actions.d.ts +3 -3
  359. package/dist/runtime/item-actions.d.ts.map +1 -1
  360. package/dist/runtime/item-actions.js +2 -2
  361. package/dist/runtime/item-actions.js.map +1 -1
  362. package/dist/runtime/json-queries.d.ts +11 -0
  363. package/dist/runtime/json-queries.d.ts.map +1 -0
  364. package/dist/runtime/json-queries.js +58 -0
  365. package/dist/runtime/json-queries.js.map +1 -0
  366. package/dist/runtime/log-queries.d.ts +3 -3
  367. package/dist/runtime/log-queries.d.ts.map +1 -1
  368. package/dist/runtime/log-queries.js +5 -5
  369. package/dist/runtime/log-queries.js.map +1 -1
  370. package/dist/runtime/plugin-registry.d.ts +3 -4
  371. package/dist/runtime/plugin-registry.d.ts.map +1 -1
  372. package/dist/runtime/plugin-registry.js +2 -2
  373. package/dist/runtime/plugin-registry.js.map +1 -1
  374. package/dist/runtime/profile-queries.d.ts +2 -2
  375. package/dist/runtime/profile-queries.d.ts.map +1 -1
  376. package/dist/runtime/profile-queries.js +4 -4
  377. package/dist/runtime/profile-queries.js.map +1 -1
  378. package/dist/runtime/silences-queries.d.ts +2 -2
  379. package/dist/runtime/silences-queries.d.ts.map +1 -1
  380. package/dist/runtime/silences-queries.js +5 -5
  381. package/dist/runtime/silences-queries.js.map +1 -1
  382. package/dist/runtime/time-series-queries.d.ts +3 -3
  383. package/dist/runtime/time-series-queries.d.ts.map +1 -1
  384. package/dist/runtime/time-series-queries.js +6 -6
  385. package/dist/runtime/time-series-queries.js.map +1 -1
  386. package/dist/runtime/trace-queries.d.ts +2 -2
  387. package/dist/runtime/trace-queries.d.ts.map +1 -1
  388. package/dist/runtime/trace-queries.js +6 -6
  389. package/dist/runtime/trace-queries.js.map +1 -1
  390. package/dist/runtime/utils.d.ts +1 -1
  391. package/dist/runtime/utils.d.ts.map +1 -1
  392. package/dist/runtime/utils.js.map +1 -1
  393. package/dist/runtime/variables.d.ts +1 -2
  394. package/dist/runtime/variables.d.ts.map +1 -1
  395. package/dist/runtime/variables.js +4 -4
  396. package/dist/runtime/variables.js.map +1 -1
  397. package/dist/schema/index.js +1 -1
  398. package/dist/schema/index.js.map +1 -1
  399. package/dist/schema/panel.d.ts +4 -4
  400. package/dist/schema/panel.d.ts.map +1 -1
  401. package/dist/schema/panel.js +18 -4
  402. package/dist/schema/panel.js.map +1 -1
  403. package/dist/test/index.js +2 -2
  404. package/dist/test/index.js.map +1 -1
  405. package/dist/test/mock-data.d.ts +14 -13
  406. package/dist/test/mock-data.d.ts.map +1 -1
  407. package/dist/test/mock-data.js +6 -0
  408. package/dist/test/mock-data.js.map +1 -1
  409. package/dist/test/render-hook.d.ts +2 -2
  410. package/dist/test/render-hook.d.ts.map +1 -1
  411. package/dist/test/render-hook.js +2 -2
  412. package/dist/test/render-hook.js.map +1 -1
  413. package/dist/test/render.d.ts +3 -3
  414. package/dist/test/render.d.ts.map +1 -1
  415. package/dist/test/render.js +3 -3
  416. package/dist/test/render.js.map +1 -1
  417. package/dist/test/setup-tests.d.ts +1 -1
  418. package/dist/test/setup-tests.d.ts.map +1 -1
  419. package/dist/test/setup-tests.js +3 -2
  420. package/dist/test/setup-tests.js.map +1 -1
  421. package/dist/test/test-plugins/bert/index.d.ts +3 -3
  422. package/dist/test/test-plugins/bert/index.d.ts.map +1 -1
  423. package/dist/test/test-plugins/bert/index.js.map +1 -1
  424. package/dist/test/test-plugins/ernie/index.d.ts +7 -1
  425. package/dist/test/test-plugins/ernie/index.d.ts.map +1 -1
  426. package/dist/test/test-plugins/ernie/index.js +58 -1
  427. package/dist/test/test-plugins/ernie/index.js.map +1 -1
  428. package/dist/test/test-plugins/index.d.ts +1 -1
  429. package/dist/test/test-plugins/index.d.ts.map +1 -1
  430. package/dist/test/test-plugins/index.js +5 -5
  431. package/dist/test/test-plugins/index.js.map +1 -1
  432. package/dist/test/utils.d.ts +2 -2
  433. package/dist/test/utils.d.ts.map +1 -1
  434. package/dist/test/utils.js +5 -5
  435. package/dist/test/utils.js.map +1 -1
  436. package/dist/test-utils/index.js +1 -1
  437. package/dist/test-utils/index.js.map +1 -1
  438. package/dist/test-utils/mock-plugin-registry.d.ts +2 -2
  439. package/dist/test-utils/mock-plugin-registry.d.ts.map +1 -1
  440. package/dist/test-utils/mock-plugin-registry.js +1 -1
  441. package/dist/test-utils/mock-plugin-registry.js.map +1 -1
  442. package/dist/utils/csv-export.d.ts.map +1 -1
  443. package/dist/utils/csv-export.js +2 -2
  444. package/dist/utils/csv-export.js.map +1 -1
  445. package/dist/utils/event.js +1 -1
  446. package/dist/utils/index.js +3 -3
  447. package/dist/utils/index.js.map +1 -1
  448. package/dist/utils/variables.js +1 -1
  449. package/package.json +16 -16
  450. package/dist/cjs/components/Annotations/AnnotationEditorForm/AnnotationEditorForm.js +0 -283
  451. package/dist/cjs/components/Annotations/AnnotationEditorForm/AnnotationPreview.js +0 -197
  452. package/dist/cjs/components/Annotations/AnnotationEditorForm/index.js +0 -30
  453. package/dist/cjs/components/Annotations/constants.js +0 -23
  454. package/dist/cjs/components/Annotations/index.js +0 -31
  455. package/dist/cjs/components/CalculationSelector/CalculationSelector.js +0 -49
  456. package/dist/cjs/components/CalculationSelector/index.js +0 -30
  457. package/dist/cjs/components/DatasourceEditorForm/DatasourceEditorForm.js +0 -270
  458. package/dist/cjs/components/DatasourceEditorForm/index.js +0 -30
  459. package/dist/cjs/components/DatasourceSelect/DatasourceSelect.js +0 -266
  460. package/dist/cjs/components/DatasourceSelect/index.js +0 -30
  461. package/dist/cjs/components/HTTPSettingsEditor/HTTPSettingsEditor.js +0 -568
  462. package/dist/cjs/components/HTTPSettingsEditor/index.js +0 -30
  463. package/dist/cjs/components/ItemSelectionActionsOptionsEditor/ItemSelectionActionsOptionsEditor.js +0 -1175
  464. package/dist/cjs/components/ItemSelectionActionsOptionsEditor/index.js +0 -30
  465. package/dist/cjs/components/LegendOptionsEditor/LegendOptionsEditor.js +0 -211
  466. package/dist/cjs/components/LegendOptionsEditor/index.js +0 -30
  467. package/dist/cjs/components/LinksEditor/LinksEditor.js +0 -162
  468. package/dist/cjs/components/LinksEditor/index.js +0 -30
  469. package/dist/cjs/components/MetricLabelInput/MetricLabelInput.js +0 -41
  470. package/dist/cjs/components/MetricLabelInput/index.js +0 -30
  471. package/dist/cjs/components/MultiQueryEditor/MultiQueryEditor.js +0 -159
  472. package/dist/cjs/components/MultiQueryEditor/QueryEditorContainer.js +0 -250
  473. package/dist/cjs/components/MultiQueryEditor/index.js +0 -31
  474. package/dist/cjs/components/MultiQueryEditor/utils.js +0 -36
  475. package/dist/cjs/components/OptionsEditorRadios/OptionsEditorRadios.js +0 -69
  476. package/dist/cjs/components/OptionsEditorRadios/index.js +0 -30
  477. package/dist/cjs/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js +0 -39
  478. package/dist/cjs/components/OptionsEditorTabPanel/index.js +0 -30
  479. package/dist/cjs/components/OptionsEditorTabs/OptionsEditorTabs.js +0 -61
  480. package/dist/cjs/components/OptionsEditorTabs/index.js +0 -30
  481. package/dist/cjs/components/PanelSpecEditor/PanelAnnotationsEditor.js +0 -246
  482. package/dist/cjs/components/PanelSpecEditor/PanelSpecEditor.js +0 -132
  483. package/dist/cjs/components/PanelSpecEditor/index.js +0 -30
  484. package/dist/cjs/components/PluginEditor/PluginEditor.js +0 -98
  485. package/dist/cjs/components/PluginEditor/index.js +0 -31
  486. package/dist/cjs/components/PluginEditor/plugin-editor-api.js +0 -136
  487. package/dist/cjs/components/PluginKindSelect/PluginKindSelect.js +0 -109
  488. package/dist/cjs/components/PluginKindSelect/index.js +0 -30
  489. package/dist/cjs/components/PluginRegistry/PluginRegistry.js +0 -86
  490. package/dist/cjs/components/PluginRegistry/getPluginSearchHelper.js +0 -92
  491. package/dist/cjs/components/PluginRegistry/index.js +0 -30
  492. package/dist/cjs/components/PluginRegistry/plugin-indexes.js +0 -88
  493. package/dist/cjs/components/PluginSpecEditor/PluginSpecEditor.js +0 -55
  494. package/dist/cjs/components/PluginSpecEditor/index.js +0 -30
  495. package/dist/cjs/components/SelectionOptionsEditor/SelectionOptionsEditor.js +0 -43
  496. package/dist/cjs/components/SelectionOptionsEditor/index.js +0 -30
  497. package/dist/cjs/components/TimeRangeControls/TimeRangeControls.js +0 -236
  498. package/dist/cjs/components/TimeRangeControls/index.js +0 -30
  499. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +0 -613
  500. package/dist/cjs/components/Variables/VariableEditorForm/VariablePreview.js +0 -193
  501. package/dist/cjs/components/Variables/VariableEditorForm/index.js +0 -32
  502. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +0 -143
  503. package/dist/cjs/components/Variables/index.js +0 -31
  504. package/dist/cjs/components/Variables/variable-model.js +0 -211
  505. package/dist/cjs/components/index.js +0 -48
  506. package/dist/cjs/constants/index.js +0 -30
  507. package/dist/cjs/constants/user-interface-text.js +0 -32
  508. package/dist/cjs/context/ValidationProvider.js +0 -77
  509. package/dist/cjs/context/index.js +0 -30
  510. package/dist/cjs/index.js +0 -38
  511. package/dist/cjs/model/calculations.js +0 -178
  512. package/dist/cjs/model/index.js +0 -45
  513. package/dist/cjs/model/legend.js +0 -111
  514. package/dist/cjs/model/log-queries.js +0 -16
  515. package/dist/cjs/model/log-volume-utils.js +0 -124
  516. package/dist/cjs/model/panels.js +0 -16
  517. package/dist/cjs/model/plugin-base.js +0 -16
  518. package/dist/cjs/model/plugin-loading.js +0 -56
  519. package/dist/cjs/model/plugins.js +0 -26
  520. package/dist/cjs/model/profile-queries.js +0 -16
  521. package/dist/cjs/model/silences-queries.js +0 -16
  522. package/dist/cjs/model/time-series-queries.js +0 -26
  523. package/dist/cjs/model/trace-queries.js +0 -16
  524. package/dist/cjs/model/variables.js +0 -16
  525. package/dist/cjs/remote/PersesPlugin.types.js +0 -16
  526. package/dist/cjs/remote/PluginLoaderComponent.js +0 -87
  527. package/dist/cjs/remote/PluginRuntime.js +0 -331
  528. package/dist/cjs/remote/index.js +0 -31
  529. package/dist/cjs/remote/remotePluginLoader.js +0 -101
  530. package/dist/cjs/runtime/DataQueriesProvider/DataQueriesProvider.js +0 -154
  531. package/dist/cjs/runtime/DataQueriesProvider/index.js +0 -31
  532. package/dist/cjs/runtime/DataQueriesProvider/model.js +0 -34
  533. package/dist/cjs/runtime/RouterProvider.js +0 -114
  534. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProvider.js +0 -201
  535. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProviders.js +0 -66
  536. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeSettingsProvider.js +0 -113
  537. package/dist/cjs/runtime/TimeRangeProvider/index.js +0 -33
  538. package/dist/cjs/runtime/TimeRangeProvider/query-params.js +0 -250
  539. package/dist/cjs/runtime/TimeRangeProvider/refresh-interval.js +0 -30
  540. package/dist/cjs/runtime/UsageMetricsProvider.js +0 -102
  541. package/dist/cjs/runtime/alerts-queries.js +0 -101
  542. package/dist/cjs/runtime/annotations.js +0 -148
  543. package/dist/cjs/runtime/builtin-variables.js +0 -81
  544. package/dist/cjs/runtime/datasources.js +0 -80
  545. package/dist/cjs/runtime/index.js +0 -44
  546. package/dist/cjs/runtime/item-actions.js +0 -302
  547. package/dist/cjs/runtime/log-queries.js +0 -76
  548. package/dist/cjs/runtime/plugin-registry.js +0 -135
  549. package/dist/cjs/runtime/profile-queries.js +0 -73
  550. package/dist/cjs/runtime/silences-queries.js +0 -101
  551. package/dist/cjs/runtime/time-series-queries.js +0 -165
  552. package/dist/cjs/runtime/trace-queries.js +0 -106
  553. package/dist/cjs/runtime/utils.js +0 -39
  554. package/dist/cjs/runtime/variables.js +0 -160
  555. package/dist/cjs/schema/index.js +0 -30
  556. package/dist/cjs/schema/panel.js +0 -42
  557. package/dist/cjs/test/index.js +0 -31
  558. package/dist/cjs/test/mock-data.js +0 -357
  559. package/dist/cjs/test/render-hook.js +0 -31
  560. package/dist/cjs/test/render.js +0 -31
  561. package/dist/cjs/test/setup-tests.js +0 -20
  562. package/dist/cjs/test/test-plugins/bert/index.js +0 -99
  563. package/dist/cjs/test/test-plugins/ernie/index.js +0 -92
  564. package/dist/cjs/test/test-plugins/index.js +0 -81
  565. package/dist/cjs/test/utils.js +0 -58
  566. package/dist/cjs/test-utils/index.js +0 -30
  567. package/dist/cjs/test-utils/mock-plugin-registry.js +0 -81
  568. package/dist/cjs/utils/csv-export.js +0 -248
  569. package/dist/cjs/utils/event.js +0 -30
  570. package/dist/cjs/utils/index.js +0 -32
  571. package/dist/cjs/utils/variables.js +0 -44
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/VariablePreview.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport React, { ReactElement, useMemo, useState } from 'react';\nimport { Alert, Box, Card, Chip, CircularProgress, IconButton, Stack, Typography } from '@mui/material';\nimport { InfoTooltip, useSnackbar } from '@perses-dev/components';\nimport Clipboard from 'mdi-material-ui/ClipboardOutline';\nimport { ListVariableDefinition } from '@perses-dev/spec';\nimport { TOOLTIP_TEXT } from '../../../constants';\nimport { useListVariablePluginValues } from '../variable-model';\nimport { SORT_METHODS } from './variable-editor-form-model';\n\nconst DEFAULT_MAX_PREVIEW_VALUES = 50;\n\ninterface VariablePreviewProps {\n values?: string[];\n isLoading?: boolean;\n error?: string;\n}\n\nexport function VariablePreview(props: VariablePreviewProps): ReactElement {\n const { values, isLoading, error } = props;\n const [maxValues, setMaxValues] = useState<number | undefined>(DEFAULT_MAX_PREVIEW_VALUES);\n const { infoSnackbar } = useSnackbar();\n const showAll = (): void => {\n setMaxValues(undefined);\n };\n let notShown = 0;\n\n if (values && values?.length > 0 && maxValues) {\n notShown = values.length - maxValues;\n }\n\n const variablePreviewState = useMemo((): ReactElement | null => {\n if (isLoading) {\n return (\n <Stack width=\"100%\" sx={{ alignItems: 'center', justifyContent: 'center' }}>\n <CircularProgress />\n </Stack>\n );\n } else if (error) {\n return <Alert severity=\"error\">{error}</Alert>;\n } else if (!values?.length) {\n return <Alert severity=\"info\">No results</Alert>;\n }\n return null;\n }, [error, isLoading, values]);\n\n return (\n <Box>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\" mb={1}>\n <Typography variant=\"h4\">Preview Values</Typography>\n <InfoTooltip description={TOOLTIP_TEXT.copyVariableValues}>\n <IconButton\n onClick={async () => {\n if (values?.length) {\n await navigator.clipboard.writeText(values.map((value) => value).join(', '));\n infoSnackbar('Preview values copied to clipboard!');\n }\n }}\n size=\"small\"\n >\n <Clipboard />\n </IconButton>\n </InfoTooltip>\n </Stack>\n <Card variant=\"outlined\">\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 1, m: 2 }}>\n {variablePreviewState}\n {values\n ?.slice(0, maxValues)\n .filter((val) => val)\n .map((val, index) => (\n <Chip size=\"small\" key={index} label={val} />\n ))}\n {notShown > 0 && <Chip onClick={showAll} variant=\"outlined\" size=\"small\" label={`+${notShown} more`} />}\n </Box>\n </Card>\n </Box>\n );\n}\n\ninterface VariableListPreviewProps {\n definition: ListVariableDefinition;\n sortMethod?: keyof typeof SORT_METHODS;\n}\n\nexport function VariableListPreview(props: VariableListPreviewProps): ReactElement {\n const { definition, sortMethod } = props;\n const { data, isFetching, error } = useListVariablePluginValues(definition);\n const errorMessage = (error as Error)?.message;\n\n const result = !sortMethod || sortMethod === 'none' || !data ? data : SORT_METHODS[sortMethod].sort(data);\n\n const variablePreview = useMemo(\n () => (\n <VariablePreview\n values={result?.map((val) => val.label || val.value)}\n isLoading={isFetching}\n error={errorMessage}\n />\n ),\n [errorMessage, isFetching, result]\n );\n\n return variablePreview;\n}\n"],"names":["React","useMemo","useState","Alert","Box","Card","Chip","CircularProgress","IconButton","Stack","Typography","InfoTooltip","useSnackbar","Clipboard","TOOLTIP_TEXT","useListVariablePluginValues","SORT_METHODS","DEFAULT_MAX_PREVIEW_VALUES","VariablePreview","props","values","isLoading","error","maxValues","setMaxValues","infoSnackbar","showAll","undefined","notShown","length","variablePreviewState","width","sx","alignItems","justifyContent","severity","direction","spacing","mb","variant","description","copyVariableValues","onClick","navigator","clipboard","writeText","map","value","join","size","display","flexWrap","gap","m","slice","filter","val","index","label","VariableListPreview","definition","sortMethod","data","isFetching","errorMessage","message","result","sort","variablePreview"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/VariablePreview.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Alert, Box, Card, Chip, CircularProgress, IconButton, Stack, Typography } from '@mui/material';\nimport { InfoTooltip, useSnackbar } from '@perses-dev/components';\nimport type { ListVariableDefinition } from '@perses-dev/spec';\nimport Clipboard from 'mdi-material-ui/ClipboardOutline';\nimport type { ReactElement } from 'react';\nimport React, { useMemo, useState } from 'react';\n\nimport { TOOLTIP_TEXT } from '../../../constants';\nimport { useListVariablePluginValues } from '../variable-model';\nimport { SORT_METHODS } from './variable-editor-form-model';\n\nconst DEFAULT_MAX_PREVIEW_VALUES = 50;\n\ninterface VariablePreviewProps {\n values?: string[];\n isLoading?: boolean;\n error?: string;\n}\n\nexport function VariablePreview(props: VariablePreviewProps): ReactElement {\n const { values, isLoading, error } = props;\n const [maxValues, setMaxValues] = useState<number | undefined>(DEFAULT_MAX_PREVIEW_VALUES);\n const { infoSnackbar } = useSnackbar();\n const showAll = (): void => {\n setMaxValues(undefined);\n };\n let notShown = 0;\n\n if (values && values?.length > 0 && maxValues) {\n notShown = values.length - maxValues;\n }\n\n const variablePreviewState = useMemo((): ReactElement | null => {\n if (isLoading) {\n return (\n <Stack width=\"100%\" sx={{ alignItems: 'center', justifyContent: 'center' }}>\n <CircularProgress />\n </Stack>\n );\n } else if (error) {\n return <Alert severity=\"error\">{error}</Alert>;\n } else if (!values?.length) {\n return <Alert severity=\"info\">No results</Alert>;\n }\n return null;\n }, [error, isLoading, values]);\n\n return (\n <Box>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\" mb={1}>\n <Typography variant=\"h4\">Preview Values</Typography>\n <InfoTooltip description={TOOLTIP_TEXT.copyVariableValues}>\n <IconButton\n onClick={async () => {\n if (values?.length) {\n await navigator.clipboard.writeText(values.map((value) => value).join(', '));\n infoSnackbar('Preview values copied to clipboard!');\n }\n }}\n size=\"small\"\n >\n <Clipboard />\n </IconButton>\n </InfoTooltip>\n </Stack>\n <Card variant=\"outlined\">\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 1, m: 2 }}>\n {variablePreviewState}\n {values\n ?.slice(0, maxValues)\n .filter((val) => val)\n .map((val, index) => (\n <Chip size=\"small\" key={index} label={val} />\n ))}\n {notShown > 0 && <Chip onClick={showAll} variant=\"outlined\" size=\"small\" label={`+${notShown} more`} />}\n </Box>\n </Card>\n </Box>\n );\n}\n\ninterface VariableListPreviewProps {\n definition: ListVariableDefinition;\n sortMethod?: keyof typeof SORT_METHODS;\n}\n\nexport function VariableListPreview(props: VariableListPreviewProps): ReactElement {\n const { definition, sortMethod } = props;\n const { data, isFetching, error } = useListVariablePluginValues(definition);\n const errorMessage = (error as Error)?.message;\n\n // oxlint-disable-next-line unicorn/no-array-sort Calling sort of object, not the built-in array sort function\n const result = !sortMethod || sortMethod === 'none' || !data ? data : SORT_METHODS[sortMethod].sort(data);\n\n const variablePreview = useMemo(\n () => (\n <VariablePreview\n values={result?.map((val) => val.label || val.value)}\n isLoading={isFetching}\n error={errorMessage}\n />\n ),\n [errorMessage, isFetching, result],\n );\n\n return variablePreview;\n}\n"],"names":["Alert","Box","Card","Chip","CircularProgress","IconButton","Stack","Typography","InfoTooltip","useSnackbar","Clipboard","React","useMemo","useState","TOOLTIP_TEXT","useListVariablePluginValues","SORT_METHODS","DEFAULT_MAX_PREVIEW_VALUES","VariablePreview","props","values","isLoading","error","maxValues","setMaxValues","infoSnackbar","showAll","undefined","notShown","length","variablePreviewState","width","sx","alignItems","justifyContent","severity","direction","spacing","mb","variant","description","copyVariableValues","onClick","navigator","clipboard","writeText","map","value","join","size","display","flexWrap","gap","m","slice","filter","val","index","label","VariableListPreview","definition","sortMethod","data","isFetching","errorMessage","message","result","sort","variablePreview"],"mappings":"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"}
@@ -10,8 +10,8 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './VariableEditorForm';
14
- export * from './VariablePreview';
15
- export * from './variable-editor-form-model';
13
+ export * from "./VariableEditorForm.js";
14
+ export * from "./VariablePreview.js";
15
+ export * from "./variable-editor-form-model.js";
16
16
 
17
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './VariableEditorForm';\nexport * from './VariablePreview';\nexport * from './variable-editor-form-model';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,+BAA+B"}
1
+ {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './VariableEditorForm';\nexport * from './VariablePreview';\nexport * from './variable-editor-form-model';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,0BAAuB;AACrC,cAAc,uBAAoB;AAClC,cAAc,kCAA+B"}
@@ -1,5 +1,5 @@
1
- import { ListVariableSpec, TextVariableSpec, VariableDefinition } from '@perses-dev/spec';
2
- import { VariableOption } from '../../../model';
1
+ import type { ListVariableSpec, TextVariableSpec, VariableDefinition } from '@perses-dev/spec';
2
+ import type { VariableOption } from '../../../model';
3
3
  export type SortMethodName = 'none' | 'alphabetical-asc' | 'alphabetical-desc' | 'numerical-asc' | 'numerical-desc' | 'alphabetical-ci-asc' | 'alphabetical-ci-desc';
4
4
  export declare const SORT_METHODS: Record<SortMethodName, {
5
5
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"variable-editor-form-model.d.ts","sourceRoot":"","sources":["../../../../src/components/Variables/VariableEditorForm/variable-editor-form-model.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAA0B,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,cAAc,EACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,CAAA;CAAE,CA4CvE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAChE,CAAC;AAEF,wBAAgB,eAAe,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,mBAAmB,CAkClG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,CAgC7F"}
1
+ {"version":3,"file":"variable-editor-form-model.d.ts","sourceRoot":"","sources":["../../../../src/components/Variables/VariableEditorForm/variable-editor-form-model.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAA0B,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,cAAc,EACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,CAAA;CAAE,CA4CvE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAChE,CAAC;AAEF,wBAAgB,eAAe,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,mBAAmB,CAkClG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,CAgC7F"}
@@ -20,37 +20,37 @@ export const SORT_METHODS = {
20
20
  'alphabetical-asc': {
21
21
  label: 'Alphabetical, asc',
22
22
  sort: (input)=>{
23
- return input.slice().sort((a, b)=>a.label > b.label ? 1 : -1);
23
+ return input.slice().toSorted((a, b)=>a.label > b.label ? 1 : -1);
24
24
  }
25
25
  },
26
26
  'alphabetical-desc': {
27
27
  label: 'Alphabetical, desc',
28
28
  sort: (input)=>{
29
- return input.slice().sort((a, b)=>a.label > b.label ? -1 : 1);
29
+ return input.slice().toSorted((a, b)=>a.label > b.label ? -1 : 1);
30
30
  }
31
31
  },
32
32
  'numerical-asc': {
33
33
  label: 'Numerical, asc',
34
34
  sort: (input)=>{
35
- return input.slice().sort((a, b)=>parseInt(a.label) > parseInt(b.label) ? 1 : -1);
35
+ return input.slice().toSorted((a, b)=>parseInt(a.label) > parseInt(b.label) ? 1 : -1);
36
36
  }
37
37
  },
38
38
  'numerical-desc': {
39
39
  label: 'Numerical, desc',
40
40
  sort: (input)=>{
41
- return input.slice().sort((a, b)=>parseInt(a.label) < parseInt(b.label) ? 1 : -1);
41
+ return input.slice().toSorted((a, b)=>parseInt(a.label) < parseInt(b.label) ? 1 : -1);
42
42
  }
43
43
  },
44
44
  'alphabetical-ci-asc': {
45
45
  label: 'Alphabetical, case-insensitive, asc',
46
46
  sort: (input)=>{
47
- return input.slice().sort((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? 1 : -1);
47
+ return input.slice().toSorted((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? 1 : -1);
48
48
  }
49
49
  },
50
50
  'alphabetical-ci-desc': {
51
51
  label: 'Alphabetical, case-insensitive, desc',
52
52
  sort: (input)=>{
53
- return input.slice().sort((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? -1 : 1);
53
+ return input.slice().toSorted((a, b)=>a.label.toLowerCase() > b.label.toLowerCase() ? -1 : 1);
54
54
  }
55
55
  }
56
56
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/variable-editor-form-model.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ListVariableSpec, TextVariableDefinition, TextVariableSpec, VariableDefinition } from '@perses-dev/spec';\nimport { VariableOption } from '../../../model';\n\nexport type SortMethodName =\n | 'none'\n | 'alphabetical-asc'\n | 'alphabetical-desc'\n | 'numerical-asc'\n | 'numerical-desc'\n | 'alphabetical-ci-asc'\n | 'alphabetical-ci-desc';\n\nexport const SORT_METHODS: Record<\n SortMethodName,\n { label: string; sort: (input: VariableOption[]) => VariableOption[] }\n> = {\n none: {\n label: 'None',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice();\n },\n },\n 'alphabetical-asc': {\n label: 'Alphabetical, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (a.label > b.label ? 1 : -1));\n },\n },\n 'alphabetical-desc': {\n label: 'Alphabetical, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (a.label > b.label ? -1 : 1));\n },\n },\n 'numerical-asc': {\n label: 'Numerical, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (parseInt(a.label) > parseInt(b.label) ? 1 : -1));\n },\n },\n 'numerical-desc': {\n label: 'Numerical, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (parseInt(a.label) < parseInt(b.label) ? 1 : -1));\n },\n },\n 'alphabetical-ci-asc': {\n label: 'Alphabetical, case-insensitive, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (a.label.toLowerCase() > b.label.toLowerCase() ? 1 : -1));\n },\n },\n 'alphabetical-ci-desc': {\n label: 'Alphabetical, case-insensitive, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().sort((a, b) => (a.label.toLowerCase() > b.label.toLowerCase() ? -1 : 1));\n },\n },\n};\n\nexport type VariableEditorState = {\n name: string;\n title?: string;\n kind: 'TextVariable' | 'ListVariable' | 'BuiltinVariable';\n description?: string;\n listVariableFields: Omit<ListVariableSpec, 'name' | 'display'>;\n textVariableFields: Omit<TextVariableSpec, 'name' | 'display'>;\n};\n\nexport function getInitialState(initialVariableDefinition: VariableDefinition): VariableEditorState {\n const textVariableFields: Omit<TextVariableSpec, 'name' | 'display'> = {\n value: (initialVariableDefinition as TextVariableDefinition).spec.value ?? '',\n constant: (initialVariableDefinition as TextVariableDefinition).spec.constant ?? false,\n };\n\n const listVariableFields: Omit<ListVariableSpec, 'name' | 'display'> = {\n allowMultiple: false,\n allowAllValue: false,\n customAllValue: undefined,\n capturingRegexp: undefined,\n sort: undefined,\n plugin: {\n kind: '',\n spec: {},\n },\n };\n if (initialVariableDefinition.kind === 'ListVariable') {\n listVariableFields.allowMultiple = initialVariableDefinition.spec.allowMultiple ?? false;\n listVariableFields.allowAllValue = initialVariableDefinition.spec.allowAllValue ?? false;\n listVariableFields.customAllValue = initialVariableDefinition.spec.customAllValue;\n listVariableFields.capturingRegexp = initialVariableDefinition.spec.capturingRegexp;\n listVariableFields.sort = initialVariableDefinition.spec.sort;\n listVariableFields.plugin = initialVariableDefinition.spec.plugin;\n }\n\n return {\n name: initialVariableDefinition.spec.name,\n title: initialVariableDefinition.spec.display?.name ?? '',\n kind: initialVariableDefinition.kind,\n description: initialVariableDefinition.spec.display?.description ?? '',\n listVariableFields,\n textVariableFields,\n };\n}\n\nexport function getVariableDefinitionFromState(state: VariableEditorState): VariableDefinition {\n const { name, title, kind, description } = state;\n\n const display = { name: title, description: description };\n\n if (kind === 'TextVariable') {\n return {\n kind,\n spec: {\n name,\n display,\n ...state.textVariableFields,\n },\n };\n }\n\n if (kind === 'ListVariable') {\n return {\n kind,\n spec: {\n name,\n display,\n allowMultiple: state.listVariableFields.allowMultiple,\n allowAllValue: state.listVariableFields.allowAllValue,\n customAllValue: state.listVariableFields.customAllValue,\n capturingRegexp: state.listVariableFields.capturingRegexp,\n sort: state.listVariableFields.sort,\n plugin: state.listVariableFields.plugin,\n },\n };\n }\n throw new Error(`Unknown variable kind: ${kind}`);\n}\n"],"names":["SORT_METHODS","none","label","sort","input","slice","a","b","parseInt","toLowerCase","getInitialState","initialVariableDefinition","textVariableFields","value","spec","constant","listVariableFields","allowMultiple","allowAllValue","customAllValue","undefined","capturingRegexp","plugin","kind","name","title","display","description","getVariableDefinitionFromState","state","Error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Variables/VariableEditorForm/variable-editor-form-model.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport type { ListVariableSpec, TextVariableDefinition, TextVariableSpec, VariableDefinition } from '@perses-dev/spec';\n\nimport type { VariableOption } from '../../../model';\n\nexport type SortMethodName =\n | 'none'\n | 'alphabetical-asc'\n | 'alphabetical-desc'\n | 'numerical-asc'\n | 'numerical-desc'\n | 'alphabetical-ci-asc'\n | 'alphabetical-ci-desc';\n\nexport const SORT_METHODS: Record<\n SortMethodName,\n { label: string; sort: (input: VariableOption[]) => VariableOption[] }\n> = {\n none: {\n label: 'None',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice();\n },\n },\n 'alphabetical-asc': {\n label: 'Alphabetical, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (a.label > b.label ? 1 : -1));\n },\n },\n 'alphabetical-desc': {\n label: 'Alphabetical, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (a.label > b.label ? -1 : 1));\n },\n },\n 'numerical-asc': {\n label: 'Numerical, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (parseInt(a.label) > parseInt(b.label) ? 1 : -1));\n },\n },\n 'numerical-desc': {\n label: 'Numerical, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (parseInt(a.label) < parseInt(b.label) ? 1 : -1));\n },\n },\n 'alphabetical-ci-asc': {\n label: 'Alphabetical, case-insensitive, asc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (a.label.toLowerCase() > b.label.toLowerCase() ? 1 : -1));\n },\n },\n 'alphabetical-ci-desc': {\n label: 'Alphabetical, case-insensitive, desc',\n sort: (input: VariableOption[]): VariableOption[] => {\n return input.slice().toSorted((a, b) => (a.label.toLowerCase() > b.label.toLowerCase() ? -1 : 1));\n },\n },\n};\n\nexport type VariableEditorState = {\n name: string;\n title?: string;\n kind: 'TextVariable' | 'ListVariable' | 'BuiltinVariable';\n description?: string;\n listVariableFields: Omit<ListVariableSpec, 'name' | 'display'>;\n textVariableFields: Omit<TextVariableSpec, 'name' | 'display'>;\n};\n\nexport function getInitialState(initialVariableDefinition: VariableDefinition): VariableEditorState {\n const textVariableFields: Omit<TextVariableSpec, 'name' | 'display'> = {\n value: (initialVariableDefinition as TextVariableDefinition).spec.value ?? '',\n constant: (initialVariableDefinition as TextVariableDefinition).spec.constant ?? false,\n };\n\n const listVariableFields: Omit<ListVariableSpec, 'name' | 'display'> = {\n allowMultiple: false,\n allowAllValue: false,\n customAllValue: undefined,\n capturingRegexp: undefined,\n sort: undefined,\n plugin: {\n kind: '',\n spec: {},\n },\n };\n if (initialVariableDefinition.kind === 'ListVariable') {\n listVariableFields.allowMultiple = initialVariableDefinition.spec.allowMultiple ?? false;\n listVariableFields.allowAllValue = initialVariableDefinition.spec.allowAllValue ?? false;\n listVariableFields.customAllValue = initialVariableDefinition.spec.customAllValue;\n listVariableFields.capturingRegexp = initialVariableDefinition.spec.capturingRegexp;\n listVariableFields.sort = initialVariableDefinition.spec.sort;\n listVariableFields.plugin = initialVariableDefinition.spec.plugin;\n }\n\n return {\n name: initialVariableDefinition.spec.name,\n title: initialVariableDefinition.spec.display?.name ?? '',\n kind: initialVariableDefinition.kind,\n description: initialVariableDefinition.spec.display?.description ?? '',\n listVariableFields,\n textVariableFields,\n };\n}\n\nexport function getVariableDefinitionFromState(state: VariableEditorState): VariableDefinition {\n const { name, title, kind, description } = state;\n\n const display = { name: title, description: description };\n\n if (kind === 'TextVariable') {\n return {\n kind,\n spec: {\n name,\n display,\n ...state.textVariableFields,\n },\n };\n }\n\n if (kind === 'ListVariable') {\n return {\n kind,\n spec: {\n name,\n display,\n allowMultiple: state.listVariableFields.allowMultiple,\n allowAllValue: state.listVariableFields.allowAllValue,\n customAllValue: state.listVariableFields.customAllValue,\n capturingRegexp: state.listVariableFields.capturingRegexp,\n sort: state.listVariableFields.sort,\n plugin: state.listVariableFields.plugin,\n },\n };\n }\n throw new Error(`Unknown variable kind: ${kind}`);\n}\n"],"names":["SORT_METHODS","none","label","sort","input","slice","toSorted","a","b","parseInt","toLowerCase","getInitialState","initialVariableDefinition","textVariableFields","value","spec","constant","listVariableFields","allowMultiple","allowAllValue","customAllValue","undefined","capturingRegexp","plugin","kind","name","title","display","description","getVariableDefinitionFromState","state","Error"],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './variable-model';
14
- export * from './VariableEditorForm';
13
+ export * from "./variable-model.js";
14
+ export * from "./VariableEditorForm/index.js";
15
15
 
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Variables/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './variable-model';\nexport * from './VariableEditorForm';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB"}
1
+ {"version":3,"sources":["../../../src/components/Variables/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './variable-model';\nexport * from './VariableEditorForm';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,sBAAmB;AACjC,cAAc,gCAAuB"}
@@ -1,7 +1,7 @@
1
- import { ListVariableDefinition, VariableDefinition, VariableValue } from '@perses-dev/spec';
2
- import { UseQueryResult } from '@tanstack/react-query';
3
- import { VariableOption } from '../../model';
4
- import { VariableStateMap } from '../../runtime';
1
+ import type { ListVariableDefinition, VariableDefinition, VariableValue } from '@perses-dev/spec';
2
+ import type { UseQueryResult } from '@tanstack/react-query';
3
+ import type { VariableOption } from '../../model';
4
+ import type { VariableStateMap } from '../../runtime';
5
5
  export declare function filterVariableList(data: VariableOption[], capturedRegexp: RegExp): VariableOption[];
6
6
  export declare function useListVariablePluginValues(definition: ListVariableDefinition): UseQueryResult<VariableOption[]>;
7
7
  /**
@@ -17,10 +17,10 @@ export declare function useResolveListVariableValues(variableDefinitions: Variab
17
17
  */
18
18
  export declare function getVariableValuesKey(v: VariableStateMap): string;
19
19
  export declare const VARIABLE_TYPES: readonly [{
20
- readonly label: "List";
21
- readonly kind: "ListVariable";
20
+ readonly label: 'List';
21
+ readonly kind: 'ListVariable';
22
22
  }, {
23
- readonly label: "Text";
24
- readonly kind: "TextVariable";
23
+ readonly label: 'Text';
24
+ readonly kind: 'TextVariable';
25
25
  }];
26
26
  //# sourceMappingURL=variable-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-model.d.ts","sourceRoot":"","sources":["../../../src/components/Variables/variable-model.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAyC,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAA6B,cAAc,EAAkB,MAAM,aAAa,CAAC;AACxF,OAAO,EAML,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,cAAc,EAAE,CAqBnG;AAgDD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAahH;AAcD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,GAAG;IACvF,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC;CACpB,CAqEA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAIhE;AAED,eAAO,MAAM,cAAc;;;;;;EAGjB,CAAC"}
1
+ {"version":3,"file":"variable-model.d.ts","sourceRoot":"","sources":["../../../src/components/Variables/variable-model.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI7E,OAAO,KAAK,EAA6B,cAAc,EAAkB,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,cAAc,EAAE,CAqBnG;AAgDD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAahH;AAcD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,GAAG;IACvF,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC;CACpB,CAqEA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAIhE;AAED,eAAO,MAAM,cAAc;aACvB,KAAK,EAAE,MAAM;aAAE,IAAI,EAAE,cAAc;;aACnC,KAAK,EAAE,MAAM;aAAE,IAAI,EAAE,cAAc;EAC7B,CAAC"}
@@ -10,9 +10,9 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- import { useQueries, useQuery } from '@tanstack/react-query';
14
- import { useCallback, useMemo, useState } from 'react';
15
- import { useAllVariableValues, useDatasourceStore, usePlugin, usePlugins, useTimeRange } from '../../runtime';
13
+ import { useQueries, useQuery } from "@tanstack/react-query";
14
+ import { useCallback, useMemo, useState } from "react";
15
+ import { useAllVariableValues, useDatasourceStore, usePlugin, usePlugins, useTimeRange } from "../../runtime/index.js";
16
16
  export function filterVariableList(data, capturedRegexp) {
17
17
  const result = [];
18
18
  const filteredSet = new Set();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Variables/variable-model.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ListVariableDefinition, VariableDefinition, VariableValue } from '@perses-dev/spec';\nimport { useQueries, useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport { useCallback, useMemo, useState } from 'react';\nimport { GetVariableOptionsContext, VariableOption, VariablePlugin } from '../../model';\nimport {\n useAllVariableValues,\n useDatasourceStore,\n usePlugin,\n usePlugins,\n useTimeRange,\n VariableStateMap,\n} from '../../runtime';\n\nexport function filterVariableList(data: VariableOption[], capturedRegexp: RegExp): VariableOption[] {\n const result: VariableOption[] = [];\n const filteredSet = new Set<string>();\n for (const variableValue of data) {\n const matches = variableValue.value.matchAll(capturedRegexp);\n let concat = '';\n for (const match of matches) {\n for (let i = 1; i < match.length; i++) {\n const m = match[i];\n if (m !== undefined) {\n concat = `${concat}${m}`;\n }\n }\n }\n if (concat !== '' && !filteredSet.has(concat)) {\n // like that we are avoiding to have duplicating variable value\n filteredSet.add(concat);\n result.push({ label: variableValue.label, value: concat });\n }\n }\n return result;\n}\n\nfunction useVariablePluginContext(): GetVariableOptionsContext {\n const datasourceStore = useDatasourceStore();\n const allVariables = useAllVariableValues();\n const { absoluteTimeRange: timeRange } = useTimeRange();\n\n return { timeRange, datasourceStore, variables: allVariables };\n}\n\nconst getVariableQueryConfig = (\n definition: ListVariableDefinition,\n variablePluginCtx: GetVariableOptionsContext,\n variablePlugin: VariablePlugin | undefined,\n enabled: boolean,\n onFetched?: (name: string, options: VariableOption[], definition: ListVariableDefinition) => void\n): UseQueryOptions<VariableOption[]> => {\n const capturingRegexp =\n definition.spec.capturingRegexp !== undefined ? new RegExp(definition.spec.capturingRegexp, 'g') : undefined;\n const variablesValueKey = getVariableValuesKey(variablePluginCtx.variables);\n return {\n queryKey: ['variable', definition, variablePluginCtx.timeRange, variablesValueKey],\n queryFn: async ({ signal }): Promise<VariableOption[]> => {\n const resp = await variablePlugin?.getVariableOptions(definition.spec.plugin.spec, variablePluginCtx, signal);\n if (!resp?.data?.length) {\n onFetched?.(definition.spec.name, [], definition);\n return [];\n }\n const options = capturingRegexp ? filterVariableList(resp.data, capturingRegexp) : resp.data;\n onFetched?.(definition.spec.name, options, definition);\n return options;\n },\n enabled,\n };\n};\n\nfunction resolveDependsOnVariables(\n variablePlugin: VariablePlugin | undefined,\n variablePluginCtx: GetVariableOptionsContext,\n definition: ListVariableDefinition\n): string[] {\n if (variablePlugin?.dependsOn) {\n const dependencies = variablePlugin.dependsOn(definition.spec.plugin.spec, variablePluginCtx);\n return dependencies.variables ? dependencies.variables.filter((v) => v !== definition.spec.name) : []; // Exclude self variable to avoid circular dependency and default to empty array to avoid deadlock\n }\n return [];\n}\n\nexport function useListVariablePluginValues(definition: ListVariableDefinition): UseQueryResult<VariableOption[]> {\n const { data: variablePlugin } = usePlugin('Variable', definition.spec.plugin.kind);\n\n const variablePluginCtx = useVariablePluginContext();\n\n const dependsOnVariables = resolveDependsOnVariables(variablePlugin, variablePluginCtx, definition);\n\n const dependentVariables = useAllVariableValues(dependsOnVariables);\n const waitToLoad = dependsOnVariables.some((v) => dependentVariables[v]?.loading);\n\n const ctx = { ...variablePluginCtx, variables: dependentVariables };\n\n return useQuery(getVariableQueryConfig(definition, ctx, variablePlugin, !!variablePlugin && !waitToLoad));\n}\n\nfunction resolveDefaultValue(definition: ListVariableDefinition, options: VariableOption[]): VariableValue {\n const { defaultValue, allowMultiple } = definition.spec;\n if (defaultValue !== undefined && defaultValue !== null) {\n return defaultValue;\n }\n if (options[0]?.value) {\n const first = options[0].value;\n return allowMultiple ? [first] : first;\n }\n return allowMultiple ? [] : '';\n}\n\n/**\n * Resolves initial values for all ListVariable definitions by fetching their options in dependency order.\n * Returns a map of variable names to their resolved default values, merging with any already-provided outer variables.\n */\nexport function useResolveListVariableValues(variableDefinitions: VariableDefinition[]): {\n initialVariableValues: Record<string, VariableValue>;\n isLoading: boolean;\n} {\n const { timeRange, datasourceStore, variables: outerVariableValues } = useVariablePluginContext();\n\n const listVariables = useMemo(\n () => variableDefinitions.filter((v): v is ListVariableDefinition => v.kind === 'ListVariable'),\n [variableDefinitions]\n );\n\n const pluginResults = usePlugins(\n 'Variable',\n listVariables.map((d) => ({ kind: d.spec.plugin.kind }))\n );\n\n // Resolved variable state. Updated by onFetched when queries resolve.\n // Needed because of dependencies between variables that require multiple rounds of fetching.\n const [resolvedVariables, setResolvedVariables] = useState<VariableStateMap>({});\n\n const allVariables = useMemo(() => {\n return { ...outerVariableValues, ...resolvedVariables };\n }, [outerVariableValues, resolvedVariables]);\n\n const onFetched = useCallback((name: string, options: VariableOption[], definition: ListVariableDefinition) => {\n setResolvedVariables((prev) => ({\n ...prev,\n [name]: { value: resolveDefaultValue(definition, options), loading: false, options },\n }));\n }, []);\n\n const queryResults = useQueries({\n queries: listVariables.map((definition, index) => {\n const plugin = pluginResults[index]?.data;\n const isPluginLoading = pluginResults[index]?.isLoading ?? true;\n\n const dependsOn = resolveDependsOnVariables(\n plugin,\n { timeRange, datasourceStore, variables: allVariables },\n definition\n );\n\n const hasPendingDeps = dependsOn.some(\n (v) =>\n (resolvedVariables[v] === undefined && listVariables.some((lv) => lv.spec.name === v)) ||\n allVariables[v]?.loading\n );\n\n const dependentVariables: VariableStateMap = {};\n for (const v of dependsOn) {\n const state = allVariables[v];\n if (state) {\n dependentVariables[v] = state;\n }\n }\n\n const ctx = { timeRange, datasourceStore, variables: dependentVariables };\n return getVariableQueryConfig(definition, ctx, plugin, !hasPendingDeps && !isPluginLoading, onFetched);\n }),\n });\n\n const initialVariableValues: Record<string, VariableValue> = useMemo(\n () =>\n Object.fromEntries(\n Object.entries(allVariables)\n .filter(([, state]) => state?.value !== undefined)\n .map(([name, state]) => [name, state!.value])\n ),\n [allVariables]\n );\n\n return { initialVariableValues, isLoading: queryResults.some((r) => r.isLoading) };\n}\n\n/**\n * Returns a serialized string of the current state of variable values.\n */\nexport function getVariableValuesKey(v: VariableStateMap): string {\n return Object.values(v)\n .map((v) => JSON.stringify(v.value))\n .join(',');\n}\n\nexport const VARIABLE_TYPES = [\n { label: 'List', kind: 'ListVariable' },\n { label: 'Text', kind: 'TextVariable' },\n] as const;\n"],"names":["useQueries","useQuery","useCallback","useMemo","useState","useAllVariableValues","useDatasourceStore","usePlugin","usePlugins","useTimeRange","filterVariableList","data","capturedRegexp","result","filteredSet","Set","variableValue","matches","value","matchAll","concat","match","i","length","m","undefined","has","add","push","label","useVariablePluginContext","datasourceStore","allVariables","absoluteTimeRange","timeRange","variables","getVariableQueryConfig","definition","variablePluginCtx","variablePlugin","enabled","onFetched","capturingRegexp","spec","RegExp","variablesValueKey","getVariableValuesKey","queryKey","queryFn","signal","resp","getVariableOptions","plugin","name","options","resolveDependsOnVariables","dependsOn","dependencies","filter","v","useListVariablePluginValues","kind","dependsOnVariables","dependentVariables","waitToLoad","some","loading","ctx","resolveDefaultValue","defaultValue","allowMultiple","first","useResolveListVariableValues","variableDefinitions","outerVariableValues","listVariables","pluginResults","map","d","resolvedVariables","setResolvedVariables","prev","queryResults","queries","index","isPluginLoading","isLoading","hasPendingDeps","lv","state","initialVariableValues","Object","fromEntries","entries","r","values","JSON","stringify","join","VARIABLE_TYPES"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Variables/variable-model.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport type { ListVariableDefinition, VariableDefinition, VariableValue } from '@perses-dev/spec';\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport { useQueries, useQuery } from '@tanstack/react-query';\nimport { useCallback, useMemo, useState } from 'react';\n\nimport type { GetVariableOptionsContext, VariableOption, VariablePlugin } from '../../model';\nimport type { VariableStateMap } from '../../runtime';\nimport { useAllVariableValues, useDatasourceStore, usePlugin, usePlugins, useTimeRange } from '../../runtime';\n\nexport function filterVariableList(data: VariableOption[], capturedRegexp: RegExp): VariableOption[] {\n const result: VariableOption[] = [];\n const filteredSet = new Set<string>();\n for (const variableValue of data) {\n const matches = variableValue.value.matchAll(capturedRegexp);\n let concat = '';\n for (const match of matches) {\n for (let i = 1; i < match.length; i++) {\n const m = match[i];\n if (m !== undefined) {\n concat = `${concat}${m}`;\n }\n }\n }\n if (concat !== '' && !filteredSet.has(concat)) {\n // like that we are avoiding to have duplicating variable value\n filteredSet.add(concat);\n result.push({ label: variableValue.label, value: concat });\n }\n }\n return result;\n}\n\nfunction useVariablePluginContext(): GetVariableOptionsContext {\n const datasourceStore = useDatasourceStore();\n const allVariables = useAllVariableValues();\n const { absoluteTimeRange: timeRange } = useTimeRange();\n\n return { timeRange, datasourceStore, variables: allVariables };\n}\n\nconst getVariableQueryConfig = (\n definition: ListVariableDefinition,\n variablePluginCtx: GetVariableOptionsContext,\n variablePlugin: VariablePlugin | undefined,\n enabled: boolean,\n onFetched?: (name: string, options: VariableOption[], definition: ListVariableDefinition) => void,\n): UseQueryOptions<VariableOption[]> => {\n const capturingRegexp =\n definition.spec.capturingRegexp !== undefined ? new RegExp(definition.spec.capturingRegexp, 'g') : undefined;\n const variablesValueKey = getVariableValuesKey(variablePluginCtx.variables);\n return {\n queryKey: ['variable', definition, variablePluginCtx.timeRange, variablesValueKey],\n queryFn: async ({ signal }): Promise<VariableOption[]> => {\n const resp = await variablePlugin?.getVariableOptions(definition.spec.plugin.spec, variablePluginCtx, signal);\n if (!resp?.data?.length) {\n onFetched?.(definition.spec.name, [], definition);\n return [];\n }\n const options = capturingRegexp ? filterVariableList(resp.data, capturingRegexp) : resp.data;\n onFetched?.(definition.spec.name, options, definition);\n return options;\n },\n enabled,\n };\n};\n\nfunction resolveDependsOnVariables(\n variablePlugin: VariablePlugin | undefined,\n variablePluginCtx: GetVariableOptionsContext,\n definition: ListVariableDefinition,\n): string[] {\n if (variablePlugin?.dependsOn) {\n const dependencies = variablePlugin.dependsOn(definition.spec.plugin.spec, variablePluginCtx);\n return dependencies.variables ? dependencies.variables.filter((v) => v !== definition.spec.name) : []; // Exclude self variable to avoid circular dependency and default to empty array to avoid deadlock\n }\n return [];\n}\n\nexport function useListVariablePluginValues(definition: ListVariableDefinition): UseQueryResult<VariableOption[]> {\n const { data: variablePlugin } = usePlugin('Variable', definition.spec.plugin.kind);\n\n const variablePluginCtx = useVariablePluginContext();\n\n const dependsOnVariables = resolveDependsOnVariables(variablePlugin, variablePluginCtx, definition);\n\n const dependentVariables = useAllVariableValues(dependsOnVariables);\n const waitToLoad = dependsOnVariables.some((v) => dependentVariables[v]?.loading);\n\n const ctx = { ...variablePluginCtx, variables: dependentVariables };\n\n return useQuery(getVariableQueryConfig(definition, ctx, variablePlugin, !!variablePlugin && !waitToLoad));\n}\n\nfunction resolveDefaultValue(definition: ListVariableDefinition, options: VariableOption[]): VariableValue {\n const { defaultValue, allowMultiple } = definition.spec;\n if (defaultValue !== undefined && defaultValue !== null) {\n return defaultValue;\n }\n if (options[0]?.value) {\n const first = options[0].value;\n return allowMultiple ? [first] : first;\n }\n return allowMultiple ? [] : '';\n}\n\n/**\n * Resolves initial values for all ListVariable definitions by fetching their options in dependency order.\n * Returns a map of variable names to their resolved default values, merging with any already-provided outer variables.\n */\nexport function useResolveListVariableValues(variableDefinitions: VariableDefinition[]): {\n initialVariableValues: Record<string, VariableValue>;\n isLoading: boolean;\n} {\n const { timeRange, datasourceStore, variables: outerVariableValues } = useVariablePluginContext();\n\n const listVariables = useMemo(\n () => variableDefinitions.filter((v): v is ListVariableDefinition => v.kind === 'ListVariable'),\n [variableDefinitions],\n );\n\n const pluginResults = usePlugins(\n 'Variable',\n listVariables.map((d) => ({ kind: d.spec.plugin.kind })),\n );\n\n // Resolved variable state. Updated by onFetched when queries resolve.\n // Needed because of dependencies between variables that require multiple rounds of fetching.\n const [resolvedVariables, setResolvedVariables] = useState<VariableStateMap>({});\n\n const allVariables = useMemo(() => {\n return { ...outerVariableValues, ...resolvedVariables };\n }, [outerVariableValues, resolvedVariables]);\n\n const onFetched = useCallback((name: string, options: VariableOption[], definition: ListVariableDefinition) => {\n setResolvedVariables((prev) => ({\n ...prev,\n [name]: { value: resolveDefaultValue(definition, options), loading: false, options },\n }));\n }, []);\n\n const queryResults = useQueries({\n queries: listVariables.map((definition, index) => {\n const plugin = pluginResults[index]?.data;\n const isPluginLoading = pluginResults[index]?.isLoading ?? true;\n\n const dependsOn = resolveDependsOnVariables(\n plugin,\n { timeRange, datasourceStore, variables: allVariables },\n definition,\n );\n\n const hasPendingDeps = dependsOn.some(\n (v) =>\n (resolvedVariables[v] === undefined && listVariables.some((lv) => lv.spec.name === v)) ||\n allVariables[v]?.loading,\n );\n\n const dependentVariables: VariableStateMap = {};\n for (const v of dependsOn) {\n const state = allVariables[v];\n if (state) {\n dependentVariables[v] = state;\n }\n }\n\n const ctx = { timeRange, datasourceStore, variables: dependentVariables };\n return getVariableQueryConfig(definition, ctx, plugin, !hasPendingDeps && !isPluginLoading, onFetched);\n }),\n });\n\n const initialVariableValues: Record<string, VariableValue> = useMemo(\n () =>\n Object.fromEntries(\n Object.entries(allVariables)\n .filter(([, state]) => state?.value !== undefined)\n .map(([name, state]) => [name, state!.value]),\n ),\n [allVariables],\n );\n\n return { initialVariableValues, isLoading: queryResults.some((r) => r.isLoading) };\n}\n\n/**\n * Returns a serialized string of the current state of variable values.\n */\nexport function getVariableValuesKey(v: VariableStateMap): string {\n return Object.values(v)\n .map((v) => JSON.stringify(v.value))\n .join(',');\n}\n\nexport const VARIABLE_TYPES = [\n { label: 'List', kind: 'ListVariable' },\n { label: 'Text', kind: 'TextVariable' },\n] as const;\n"],"names":["useQueries","useQuery","useCallback","useMemo","useState","useAllVariableValues","useDatasourceStore","usePlugin","usePlugins","useTimeRange","filterVariableList","data","capturedRegexp","result","filteredSet","Set","variableValue","matches","value","matchAll","concat","match","i","length","m","undefined","has","add","push","label","useVariablePluginContext","datasourceStore","allVariables","absoluteTimeRange","timeRange","variables","getVariableQueryConfig","definition","variablePluginCtx","variablePlugin","enabled","onFetched","capturingRegexp","spec","RegExp","variablesValueKey","getVariableValuesKey","queryKey","queryFn","signal","resp","getVariableOptions","plugin","name","options","resolveDependsOnVariables","dependsOn","dependencies","filter","v","useListVariablePluginValues","kind","dependsOnVariables","dependentVariables","waitToLoad","some","loading","ctx","resolveDefaultValue","defaultValue","allowMultiple","first","useResolveListVariableValues","variableDefinitions","outerVariableValues","listVariables","pluginResults","map","d","resolvedVariables","setResolvedVariables","prev","queryResults","queries","index","isPluginLoading","isLoading","hasPendingDeps","lv","state","initialVariableValues","Object","fromEntries","entries","r","values","JSON","stringify","join","VARIABLE_TYPES"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAIjC,SAASA,UAAU,EAAEC,QAAQ,QAAQ,wBAAwB;AAC7D,SAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAIvD,SAASC,oBAAoB,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,YAAY,QAAQ,yBAAgB;AAE9G,OAAO,SAASC,mBAAmBC,IAAsB,EAAEC,cAAsB;IAC/E,MAAMC,SAA2B,EAAE;IACnC,MAAMC,cAAc,IAAIC;IACxB,KAAK,MAAMC,iBAAiBL,KAAM;QAChC,MAAMM,UAAUD,cAAcE,KAAK,CAACC,QAAQ,CAACP;QAC7C,IAAIQ,SAAS;QACb,KAAK,MAAMC,SAASJ,QAAS;YAC3B,IAAK,IAAIK,IAAI,GAAGA,IAAID,MAAME,MAAM,EAAED,IAAK;gBACrC,MAAME,IAAIH,KAAK,CAACC,EAAE;gBAClB,IAAIE,MAAMC,WAAW;oBACnBL,SAAS,GAAGA,SAASI,GAAG;gBAC1B;YACF;QACF;QACA,IAAIJ,WAAW,MAAM,CAACN,YAAYY,GAAG,CAACN,SAAS;YAC7C,+DAA+D;YAC/DN,YAAYa,GAAG,CAACP;YAChBP,OAAOe,IAAI,CAAC;gBAAEC,OAAOb,cAAca,KAAK;gBAAEX,OAAOE;YAAO;QAC1D;IACF;IACA,OAAOP;AACT;AAEA,SAASiB;IACP,MAAMC,kBAAkBzB;IACxB,MAAM0B,eAAe3B;IACrB,MAAM,EAAE4B,mBAAmBC,SAAS,EAAE,GAAGzB;IAEzC,OAAO;QAAEyB;QAAWH;QAAiBI,WAAWH;IAAa;AAC/D;AAEA,MAAMI,yBAAyB,CAC7BC,YACAC,mBACAC,gBACAC,SACAC;IAEA,MAAMC,kBACJL,WAAWM,IAAI,CAACD,eAAe,KAAKjB,YAAY,IAAImB,OAAOP,WAAWM,IAAI,CAACD,eAAe,EAAE,OAAOjB;IACrG,MAAMoB,oBAAoBC,qBAAqBR,kBAAkBH,SAAS;IAC1E,OAAO;QACLY,UAAU;YAAC;YAAYV;YAAYC,kBAAkBJ,SAAS;YAAEW;SAAkB;QAClFG,SAAS,OAAO,EAAEC,MAAM,EAAE;YACxB,MAAMC,OAAO,MAAMX,gBAAgBY,mBAAmBd,WAAWM,IAAI,CAACS,MAAM,CAACT,IAAI,EAAEL,mBAAmBW;YACtG,IAAI,CAACC,MAAMvC,MAAMY,QAAQ;gBACvBkB,YAAYJ,WAAWM,IAAI,CAACU,IAAI,EAAE,EAAE,EAAEhB;gBACtC,OAAO,EAAE;YACX;YACA,MAAMiB,UAAUZ,kBAAkBhC,mBAAmBwC,KAAKvC,IAAI,EAAE+B,mBAAmBQ,KAAKvC,IAAI;YAC5F8B,YAAYJ,WAAWM,IAAI,CAACU,IAAI,EAAEC,SAASjB;YAC3C,OAAOiB;QACT;QACAd;IACF;AACF;AAEA,SAASe,0BACPhB,cAA0C,EAC1CD,iBAA4C,EAC5CD,UAAkC;IAElC,IAAIE,gBAAgBiB,WAAW;QAC7B,MAAMC,eAAelB,eAAeiB,SAAS,CAACnB,WAAWM,IAAI,CAACS,MAAM,CAACT,IAAI,EAAEL;QAC3E,OAAOmB,aAAatB,SAAS,GAAGsB,aAAatB,SAAS,CAACuB,MAAM,CAAC,CAACC,IAAMA,MAAMtB,WAAWM,IAAI,CAACU,IAAI,IAAI,EAAE,EAAE,kGAAkG;IAC3M;IACA,OAAO,EAAE;AACX;AAEA,OAAO,SAASO,4BAA4BvB,UAAkC;IAC5E,MAAM,EAAE1B,MAAM4B,cAAc,EAAE,GAAGhC,UAAU,YAAY8B,WAAWM,IAAI,CAACS,MAAM,CAACS,IAAI;IAElF,MAAMvB,oBAAoBR;IAE1B,MAAMgC,qBAAqBP,0BAA0BhB,gBAAgBD,mBAAmBD;IAExF,MAAM0B,qBAAqB1D,qBAAqByD;IAChD,MAAME,aAAaF,mBAAmBG,IAAI,CAAC,CAACN,IAAMI,kBAAkB,CAACJ,EAAE,EAAEO;IAEzE,MAAMC,MAAM;QAAE,GAAG7B,iBAAiB;QAAEH,WAAW4B;IAAmB;IAElE,OAAO9D,SAASmC,uBAAuBC,YAAY8B,KAAK5B,gBAAgB,CAAC,CAACA,kBAAkB,CAACyB;AAC/F;AAEA,SAASI,oBAAoB/B,UAAkC,EAAEiB,OAAyB;IACxF,MAAM,EAAEe,YAAY,EAAEC,aAAa,EAAE,GAAGjC,WAAWM,IAAI;IACvD,IAAI0B,iBAAiB5C,aAAa4C,iBAAiB,MAAM;QACvD,OAAOA;IACT;IACA,IAAIf,OAAO,CAAC,EAAE,EAAEpC,OAAO;QACrB,MAAMqD,QAAQjB,OAAO,CAAC,EAAE,CAACpC,KAAK;QAC9B,OAAOoD,gBAAgB;YAACC;SAAM,GAAGA;IACnC;IACA,OAAOD,gBAAgB,EAAE,GAAG;AAC9B;AAEA;;;CAGC,GACD,OAAO,SAASE,6BAA6BC,mBAAyC;IAIpF,MAAM,EAAEvC,SAAS,EAAEH,eAAe,EAAEI,WAAWuC,mBAAmB,EAAE,GAAG5C;IAEvE,MAAM6C,gBAAgBxE,QACpB,IAAMsE,oBAAoBf,MAAM,CAAC,CAACC,IAAmCA,EAAEE,IAAI,KAAK,iBAChF;QAACY;KAAoB;IAGvB,MAAMG,gBAAgBpE,WACpB,YACAmE,cAAcE,GAAG,CAAC,CAACC,IAAO,CAAA;YAAEjB,MAAMiB,EAAEnC,IAAI,CAACS,MAAM,CAACS,IAAI;QAAC,CAAA;IAGvD,sEAAsE;IACtE,6FAA6F;IAC7F,MAAM,CAACkB,mBAAmBC,qBAAqB,GAAG5E,SAA2B,CAAC;IAE9E,MAAM4B,eAAe7B,QAAQ;QAC3B,OAAO;YAAE,GAAGuE,mBAAmB;YAAE,GAAGK,iBAAiB;QAAC;IACxD,GAAG;QAACL;QAAqBK;KAAkB;IAE3C,MAAMtC,YAAYvC,YAAY,CAACmD,MAAcC,SAA2BjB;QACtE2C,qBAAqB,CAACC,OAAU,CAAA;gBAC9B,GAAGA,IAAI;gBACP,CAAC5B,KAAK,EAAE;oBAAEnC,OAAOkD,oBAAoB/B,YAAYiB;oBAAUY,SAAS;oBAAOZ;gBAAQ;YACrF,CAAA;IACF,GAAG,EAAE;IAEL,MAAM4B,eAAelF,WAAW;QAC9BmF,SAASR,cAAcE,GAAG,CAAC,CAACxC,YAAY+C;YACtC,MAAMhC,SAASwB,aAAa,CAACQ,MAAM,EAAEzE;YACrC,MAAM0E,kBAAkBT,aAAa,CAACQ,MAAM,EAAEE,aAAa;YAE3D,MAAM9B,YAAYD,0BAChBH,QACA;gBAAElB;gBAAWH;gBAAiBI,WAAWH;YAAa,GACtDK;YAGF,MAAMkD,iBAAiB/B,UAAUS,IAAI,CACnC,CAACN,IACC,AAACoB,iBAAiB,CAACpB,EAAE,KAAKlC,aAAakD,cAAcV,IAAI,CAAC,CAACuB,KAAOA,GAAG7C,IAAI,CAACU,IAAI,KAAKM,MACnF3B,YAAY,CAAC2B,EAAE,EAAEO;YAGrB,MAAMH,qBAAuC,CAAC;YAC9C,KAAK,MAAMJ,KAAKH,UAAW;gBACzB,MAAMiC,QAAQzD,YAAY,CAAC2B,EAAE;gBAC7B,IAAI8B,OAAO;oBACT1B,kBAAkB,CAACJ,EAAE,GAAG8B;gBAC1B;YACF;YAEA,MAAMtB,MAAM;gBAAEjC;gBAAWH;gBAAiBI,WAAW4B;YAAmB;YACxE,OAAO3B,uBAAuBC,YAAY8B,KAAKf,QAAQ,CAACmC,kBAAkB,CAACF,iBAAiB5C;QAC9F;IACF;IAEA,MAAMiD,wBAAuDvF,QAC3D,IACEwF,OAAOC,WAAW,CAChBD,OAAOE,OAAO,CAAC7D,cACZ0B,MAAM,CAAC,CAAC,GAAG+B,MAAM,GAAKA,OAAOvE,UAAUO,WACvCoD,GAAG,CAAC,CAAC,CAACxB,MAAMoC,MAAM,GAAK;gBAACpC;gBAAMoC,MAAOvE,KAAK;aAAC,IAElD;QAACc;KAAa;IAGhB,OAAO;QAAE0D;QAAuBJ,WAAWJ,aAAajB,IAAI,CAAC,CAAC6B,IAAMA,EAAER,SAAS;IAAE;AACnF;AAEA;;CAEC,GACD,OAAO,SAASxC,qBAAqBa,CAAmB;IACtD,OAAOgC,OAAOI,MAAM,CAACpC,GAClBkB,GAAG,CAAC,CAAClB,IAAMqC,KAAKC,SAAS,CAACtC,EAAEzC,KAAK,GACjCgF,IAAI,CAAC;AACV;AAEA,OAAO,MAAMC,iBAAiB;IAC5B;QAAEtE,OAAO;QAAQgC,MAAM;IAAe;IACtC;QAAEhC,OAAO;QAAQgC,MAAM;IAAe;CACvC,CAAU"}
@@ -4,6 +4,7 @@ export * from './DatasourceEditorForm';
4
4
  export * from './DatasourceSelect';
5
5
  export * from './HTTPSettingsEditor';
6
6
  export * from './ItemSelectionActionsOptionsEditor';
7
+ export * from './LayoutEditor';
7
8
  export * from './LegendOptionsEditor';
8
9
  export * from './LinksEditor';
9
10
  export * from './MultiQueryEditor';
@@ -17,4 +18,5 @@ export * from './PluginSpecEditor';
17
18
  export * from './TimeRangeControls';
18
19
  export * from './Variables';
19
20
  export * from './MetricLabelInput';
21
+ export * from './DatasourceTestConnectionButton';
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC"}
@@ -10,24 +10,26 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './Annotations';
14
- export * from './CalculationSelector';
15
- export * from './DatasourceEditorForm';
16
- export * from './DatasourceSelect';
17
- export * from './HTTPSettingsEditor';
18
- export * from './ItemSelectionActionsOptionsEditor';
19
- export * from './LegendOptionsEditor';
20
- export * from './LinksEditor';
21
- export * from './MultiQueryEditor';
22
- export * from './OptionsEditorRadios';
23
- export * from './OptionsEditorTabs';
24
- export * from './PanelSpecEditor';
25
- export * from './PluginEditor';
26
- export * from './PluginKindSelect';
27
- export * from './PluginRegistry';
28
- export * from './PluginSpecEditor';
29
- export * from './TimeRangeControls';
30
- export * from './Variables';
31
- export * from './MetricLabelInput';
13
+ export * from "./Annotations/index.js";
14
+ export * from "./CalculationSelector/index.js";
15
+ export * from "./DatasourceEditorForm/index.js";
16
+ export * from "./DatasourceSelect/index.js";
17
+ export * from "./HTTPSettingsEditor/index.js";
18
+ export * from "./ItemSelectionActionsOptionsEditor/index.js";
19
+ export * from "./LayoutEditor/index.js";
20
+ export * from "./LegendOptionsEditor/index.js";
21
+ export * from "./LinksEditor/index.js";
22
+ export * from "./MultiQueryEditor/index.js";
23
+ export * from "./OptionsEditorRadios/index.js";
24
+ export * from "./OptionsEditorTabs/index.js";
25
+ export * from "./PanelSpecEditor/index.js";
26
+ export * from "./PluginEditor/index.js";
27
+ export * from "./PluginKindSelect/index.js";
28
+ export * from "./PluginRegistry/index.js";
29
+ export * from "./PluginSpecEditor/index.js";
30
+ export * from "./TimeRangeControls/index.js";
31
+ export * from "./Variables/index.js";
32
+ export * from "./MetricLabelInput/index.js";
33
+ export * from "./DatasourceTestConnectionButton/index.js";
32
34
 
33
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './Annotations';\nexport * from './CalculationSelector';\nexport * from './DatasourceEditorForm';\nexport * from './DatasourceSelect';\nexport * from './HTTPSettingsEditor';\nexport * from './ItemSelectionActionsOptionsEditor';\nexport * from './LegendOptionsEditor';\nexport * from './LinksEditor';\nexport * from './MultiQueryEditor';\nexport * from './OptionsEditorRadios';\nexport * from './OptionsEditorTabs';\nexport * from './PanelSpecEditor';\nexport * from './PluginEditor';\nexport * from './PluginKindSelect';\nexport * from './PluginRegistry';\nexport * from './PluginSpecEditor';\nexport * from './TimeRangeControls';\nexport * from './Variables';\nexport * from './MetricLabelInput';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,gBAAgB;AAC9B,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,sCAAsC;AACpD,cAAc,wBAAwB;AACtC,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,wBAAwB;AACtC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,cAAc,qBAAqB"}
1
+ {"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './Annotations';\nexport * from './CalculationSelector';\nexport * from './DatasourceEditorForm';\nexport * from './DatasourceSelect';\nexport * from './HTTPSettingsEditor';\nexport * from './ItemSelectionActionsOptionsEditor';\nexport * from './LayoutEditor';\nexport * from './LegendOptionsEditor';\nexport * from './LinksEditor';\nexport * from './MultiQueryEditor';\nexport * from './OptionsEditorRadios';\nexport * from './OptionsEditorTabs';\nexport * from './PanelSpecEditor';\nexport * from './PluginEditor';\nexport * from './PluginKindSelect';\nexport * from './PluginRegistry';\nexport * from './PluginSpecEditor';\nexport * from './TimeRangeControls';\nexport * from './Variables';\nexport * from './MetricLabelInput';\nexport * from './DatasourceTestConnectionButton';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,yBAAgB;AAC9B,cAAc,iCAAwB;AACtC,cAAc,kCAAyB;AACvC,cAAc,8BAAqB;AACnC,cAAc,gCAAuB;AACrC,cAAc,+CAAsC;AACpD,cAAc,0BAAiB;AAC/B,cAAc,iCAAwB;AACtC,cAAc,yBAAgB;AAC9B,cAAc,8BAAqB;AACnC,cAAc,iCAAwB;AACtC,cAAc,+BAAsB;AACpC,cAAc,6BAAoB;AAClC,cAAc,0BAAiB;AAC/B,cAAc,8BAAqB;AACnC,cAAc,4BAAmB;AACjC,cAAc,8BAAqB;AACnC,cAAc,+BAAsB;AACpC,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,cAAc,4CAAmC"}
@@ -1,2 +1,3 @@
1
+ export * from './repeat';
1
2
  export * from './user-interface-text';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAaA,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAaA,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC"}
@@ -10,6 +10,7 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './user-interface-text';
13
+ export * from "./repeat.js";
14
+ export * from "./user-interface-text.js";
14
15
 
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './user-interface-text';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,wBAAwB"}
1
+ {"version":3,"sources":["../../src/constants/index.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport * from './repeat';\nexport * from './user-interface-text';\n"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,cAAc,cAAW;AACzB,cAAc,2BAAwB"}
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_REPEAT_ALIGNMENT: 'horizontal';
2
+ export declare const DEFAULT_MAX_PER_ROW = 4;
3
+ //# sourceMappingURL=repeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../src/constants/repeat.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,wBAAwB,EAAG,YAAqB,CAAC;AAC9D,eAAO,MAAM,mBAAmB,IAAI,CAAC"}
@@ -10,7 +10,7 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
13
+ export const DEFAULT_REPEAT_ALIGNMENT = 'horizontal';
14
+ export const DEFAULT_MAX_PER_ROW = 4;
15
+
16
+ //# sourceMappingURL=repeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/repeat.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nexport const DEFAULT_REPEAT_ALIGNMENT = 'horizontal' as const;\nexport const DEFAULT_MAX_PER_ROW = 4;\n"],"names":["DEFAULT_REPEAT_ALIGNMENT","DEFAULT_MAX_PER_ROW"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,MAAMA,2BAA2B,aAAsB;AAC9D,OAAO,MAAMC,sBAAsB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-interface-text.d.ts","sourceRoot":"","sources":["../../src/constants/user-interface-text.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;;;;;;;CASxB,CAAC"}
1
+ {"version":3,"file":"user-interface-text.d.ts","sourceRoot":"","sources":["../../src/constants/user-interface-text.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;IAEvB,qBAAqB;IACrB,kBAAkB;IAElB,OAAO;IACP,eAAe;IACf,MAAM;IACN,OAAO;CACR,CAAC"}
@@ -1,13 +1,13 @@
1
- import { ReactElement, ReactNode } from 'react';
2
- import { AnnotationSpec, PluginSchema, VariableDefinition } from '@perses-dev/spec';
3
- import { z } from 'zod';
4
- import { DatasourceDefinition } from '@perses-dev/client';
5
- import { PanelEditorValues } from '../model';
1
+ import type { DatasourceDefinition } from '@perses-dev/client';
2
+ import type { AnnotationSpec, PluginSchema, VariableDefinition } from '@perses-dev/spec';
3
+ import type { ReactElement, ReactNode } from 'react';
4
+ import type { z } from 'zod';
5
+ import type { PanelEditorValues } from '../model';
6
6
  export interface ValidationSchemas {
7
- datasourceEditorSchema: z.Schema<DatasourceDefinition>;
8
- panelEditorSchema: z.Schema<PanelEditorValues>;
9
- variableEditorSchema: z.Schema<VariableDefinition>;
10
- annotationEditorSchema: z.Schema<AnnotationSpec>;
7
+ datasourceEditorSchema: z.ZodType<DatasourceDefinition, DatasourceDefinition>;
8
+ panelEditorSchema: z.ZodType<PanelEditorValues, PanelEditorValues>;
9
+ variableEditorSchema: z.ZodType<VariableDefinition, VariableDefinition>;
10
+ annotationEditorSchema: z.ZodType<AnnotationSpec, AnnotationSpec>;
11
11
  setDatasourceEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;
12
12
  setPanelEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;
13
13
  setVariableEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationProvider.d.ts","sourceRoot":"","sources":["../../src/context/ValidationProvider.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAiB,YAAY,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AACrF,OAAO,EACL,cAAc,EAId,YAAY,EACZ,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmC,oBAAoB,EAA8B,MAAM,oBAAoB,CAAC;AAEvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/C,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,+BAA+B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACtE,0BAA0B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACjE,6BAA6B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACpE,+BAA+B,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,wDAA0D,CAAC;AAEhG,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAKD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,YAAY,CAwCtF"}
1
+ {"version":3,"file":"ValidationProvider.d.ts","sourceRoot":"","sources":["../../src/context/ValidationProvider.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOzF,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC9E,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACnE,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACxE,sBAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAClE,+BAA+B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACtE,0BAA0B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACjE,6BAA6B,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACpE,+BAA+B,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,wDAA0D,CAAC;AAEhG,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAKD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,GAAG,YAAY,CA0CtF"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  // Copyright The Perses Authors
3
2
  // Licensed under the Apache License, Version 2.0 (the "License");
4
3
  // you may not use this file except in compliance with the License.
@@ -11,10 +10,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
11
  // See the License for the specific language governing permissions and
13
12
  // limitations under the License.
14
- import { createContext, useContext, useState } from 'react';
15
- import { annotationSpecSchema, buildAnnotationSpecSchema, buildVariableDefinitionSchema, variableDefinitionSchema } from '@perses-dev/spec';
16
- import { buildDatasourceDefinitionSchema, datasourceDefinitionSchema } from '@perses-dev/client';
17
- import { buildPanelEditorSchema, panelEditorSchema as defaultPanelEditorSchema } from '../schema';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { buildDatasourceDefinitionSchema, datasourceDefinitionSchema } from "@perses-dev/client";
15
+ import { annotationSpecSchema, buildAnnotationSpecSchema, buildVariableDefinitionSchema, variableDefinitionSchema } from "@perses-dev/spec";
16
+ import { createContext, useContext, useState } from "react";
17
+ import { buildPanelEditorSchema, panelEditorSchema as defaultPanelEditorSchema } from "../schema/index.js";
18
18
  export const ValidationSchemasContext = /*#__PURE__*/ createContext(undefined);
19
19
  export function useValidationSchemas() {
20
20
  const ctx = useContext(ValidationSchemasContext);
@@ -27,7 +27,7 @@ export function useValidationSchemas() {
27
27
  * Provide validation schemas for forms handling plugins (datasources, variables, panels).
28
28
  */ export function ValidationProvider({ children }) {
29
29
  const [datasourceEditorSchema, setDatasourceEditorSchema] = useState(datasourceDefinitionSchema);
30
- const [panelEditorSchema, setPanelEditorSchema] = useState(defaultPanelEditorSchema); // TODO I don't get why this does not compile
30
+ const [panelEditorSchema, setPanelEditorSchema] = useState(defaultPanelEditorSchema);
31
31
  const [variableEditorSchema, setVariableEditorSchema] = useState(variableDefinitionSchema);
32
32
  const [annotationEditorSchema, setAnnotationEditorSchema] = useState(annotationSpecSchema);
33
33
  function setDatasourceEditorSchemaPlugin(pluginSchema) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/context/ValidationProvider.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { createContext, ReactElement, ReactNode, useContext, useState } from 'react';\nimport {\n AnnotationSpec,\n annotationSpecSchema,\n buildAnnotationSpecSchema,\n buildVariableDefinitionSchema,\n PluginSchema,\n VariableDefinition,\n variableDefinitionSchema,\n} from '@perses-dev/spec';\n\nimport { z } from 'zod';\nimport { buildDatasourceDefinitionSchema, DatasourceDefinition, datasourceDefinitionSchema } from '@perses-dev/client';\nimport { buildPanelEditorSchema, panelEditorSchema as defaultPanelEditorSchema } from '../schema';\nimport { PanelEditorValues } from '../model';\n\nexport interface ValidationSchemas {\n datasourceEditorSchema: z.Schema<DatasourceDefinition>;\n panelEditorSchema: z.Schema<PanelEditorValues>;\n variableEditorSchema: z.Schema<VariableDefinition>;\n annotationEditorSchema: z.Schema<AnnotationSpec>;\n setDatasourceEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setPanelEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setVariableEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setAnnotationEditorSchemaPlugin?: (pluginSchema: PluginSchema) => void;\n}\n\nexport const ValidationSchemasContext = createContext<ValidationSchemas | undefined>(undefined);\n\nexport function useValidationSchemas(): ValidationSchemas {\n const ctx = useContext(ValidationSchemasContext);\n if (ctx === undefined) {\n throw new Error('No ValidationSchemasContext found. Did you forget a Provider?');\n }\n return ctx;\n}\n\ninterface ValidationProviderProps {\n children: ReactNode;\n}\n\n/*\n * Provide validation schemas for forms handling plugins (datasources, variables, panels).\n */\nexport function ValidationProvider({ children }: ValidationProviderProps): ReactElement {\n const [datasourceEditorSchema, setDatasourceEditorSchema] =\n useState<z.Schema<DatasourceDefinition>>(datasourceDefinitionSchema);\n const [panelEditorSchema, setPanelEditorSchema] = useState<z.Schema<PanelEditorValues>>(defaultPanelEditorSchema); // TODO I don't get why this does not compile\n const [variableEditorSchema, setVariableEditorSchema] =\n useState<z.Schema<VariableDefinition>>(variableDefinitionSchema);\n const [annotationEditorSchema, setAnnotationEditorSchema] = useState<z.Schema<AnnotationSpec>>(annotationSpecSchema);\n\n function setDatasourceEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setDatasourceEditorSchema(buildDatasourceDefinitionSchema(pluginSchema));\n }\n\n function setPanelEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setPanelEditorSchema(buildPanelEditorSchema(pluginSchema));\n }\n\n function setVariableEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setVariableEditorSchema(buildVariableDefinitionSchema(pluginSchema));\n }\n\n function setAnnotationEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setAnnotationEditorSchema(buildAnnotationSpecSchema(pluginSchema));\n }\n\n return (\n <ValidationSchemasContext.Provider\n value={{\n datasourceEditorSchema,\n panelEditorSchema,\n variableEditorSchema,\n annotationEditorSchema,\n setDatasourceEditorSchemaPlugin,\n setPanelEditorSchemaPlugin,\n setVariableEditorSchemaPlugin,\n setAnnotationEditorSchemaPlugin,\n }}\n >\n {children}\n </ValidationSchemasContext.Provider>\n );\n}\n"],"names":["createContext","useContext","useState","annotationSpecSchema","buildAnnotationSpecSchema","buildVariableDefinitionSchema","variableDefinitionSchema","buildDatasourceDefinitionSchema","datasourceDefinitionSchema","buildPanelEditorSchema","panelEditorSchema","defaultPanelEditorSchema","ValidationSchemasContext","undefined","useValidationSchemas","ctx","Error","ValidationProvider","children","datasourceEditorSchema","setDatasourceEditorSchema","setPanelEditorSchema","variableEditorSchema","setVariableEditorSchema","annotationEditorSchema","setAnnotationEditorSchema","setDatasourceEditorSchemaPlugin","pluginSchema","setPanelEditorSchemaPlugin","setVariableEditorSchemaPlugin","setAnnotationEditorSchemaPlugin","Provider","value"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,aAAa,EAA2BC,UAAU,EAAEC,QAAQ,QAAQ,QAAQ;AACrF,SAEEC,oBAAoB,EACpBC,yBAAyB,EACzBC,6BAA6B,EAG7BC,wBAAwB,QACnB,mBAAmB;AAG1B,SAASC,+BAA+B,EAAwBC,0BAA0B,QAAQ,qBAAqB;AACvH,SAASC,sBAAsB,EAAEC,qBAAqBC,wBAAwB,QAAQ,YAAY;AAclG,OAAO,MAAMC,yCAA2BZ,cAA6Ca,WAAW;AAEhG,OAAO,SAASC;IACd,MAAMC,MAAMd,WAAWW;IACvB,IAAIG,QAAQF,WAAW;QACrB,MAAM,IAAIG,MAAM;IAClB;IACA,OAAOD;AACT;AAMA;;CAEC,GACD,OAAO,SAASE,mBAAmB,EAAEC,QAAQ,EAA2B;IACtE,MAAM,CAACC,wBAAwBC,0BAA0B,GACvDlB,SAAyCM;IAC3C,MAAM,CAACE,mBAAmBW,qBAAqB,GAAGnB,SAAsCS,2BAA2B,6CAA6C;IAChK,MAAM,CAACW,sBAAsBC,wBAAwB,GACnDrB,SAAuCI;IACzC,MAAM,CAACkB,wBAAwBC,0BAA0B,GAAGvB,SAAmCC;IAE/F,SAASuB,gCAAgCC,YAA0B;QACjEP,0BAA0Bb,gCAAgCoB;IAC5D;IAEA,SAASC,2BAA2BD,YAA0B;QAC5DN,qBAAqBZ,uBAAuBkB;IAC9C;IAEA,SAASE,8BAA8BF,YAA0B;QAC/DJ,wBAAwBlB,8BAA8BsB;IACxD;IAEA,SAASG,gCAAgCH,YAA0B;QACjEF,0BAA0BrB,0BAA0BuB;IACtD;IAEA,qBACE,KAACf,yBAAyBmB,QAAQ;QAChCC,OAAO;YACLb;YACAT;YACAY;YACAE;YACAE;YACAE;YACAC;YACAC;QACF;kBAECZ;;AAGP"}
1
+ {"version":3,"sources":["../../src/context/ValidationProvider.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport type { DatasourceDefinition } from '@perses-dev/client';\nimport { buildDatasourceDefinitionSchema, datasourceDefinitionSchema } from '@perses-dev/client';\nimport type { AnnotationSpec, PluginSchema, VariableDefinition } from '@perses-dev/spec';\nimport {\n annotationSpecSchema,\n buildAnnotationSpecSchema,\n buildVariableDefinitionSchema,\n variableDefinitionSchema,\n} from '@perses-dev/spec';\nimport type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext, useState } from 'react';\nimport type { z } from 'zod';\n\nimport type { PanelEditorValues } from '../model';\nimport { buildPanelEditorSchema, panelEditorSchema as defaultPanelEditorSchema } from '../schema';\n\nexport interface ValidationSchemas {\n datasourceEditorSchema: z.ZodType<DatasourceDefinition, DatasourceDefinition>;\n panelEditorSchema: z.ZodType<PanelEditorValues, PanelEditorValues>;\n variableEditorSchema: z.ZodType<VariableDefinition, VariableDefinition>;\n annotationEditorSchema: z.ZodType<AnnotationSpec, AnnotationSpec>;\n setDatasourceEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setPanelEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setVariableEditorSchemaPlugin: (pluginSchema: PluginSchema) => void;\n setAnnotationEditorSchemaPlugin?: (pluginSchema: PluginSchema) => void;\n}\n\nexport const ValidationSchemasContext = createContext<ValidationSchemas | undefined>(undefined);\n\nexport function useValidationSchemas(): ValidationSchemas {\n const ctx = useContext(ValidationSchemasContext);\n if (ctx === undefined) {\n throw new Error('No ValidationSchemasContext found. Did you forget a Provider?');\n }\n return ctx;\n}\n\ninterface ValidationProviderProps {\n children: ReactNode;\n}\n\n/*\n * Provide validation schemas for forms handling plugins (datasources, variables, panels).\n */\nexport function ValidationProvider({ children }: ValidationProviderProps): ReactElement {\n const [datasourceEditorSchema, setDatasourceEditorSchema] =\n useState<z.ZodType<DatasourceDefinition, DatasourceDefinition>>(datasourceDefinitionSchema);\n const [panelEditorSchema, setPanelEditorSchema] =\n useState<z.ZodType<PanelEditorValues, PanelEditorValues>>(defaultPanelEditorSchema);\n const [variableEditorSchema, setVariableEditorSchema] =\n useState<z.ZodType<VariableDefinition, VariableDefinition>>(variableDefinitionSchema);\n const [annotationEditorSchema, setAnnotationEditorSchema] =\n useState<z.ZodType<AnnotationSpec, AnnotationSpec>>(annotationSpecSchema);\n\n function setDatasourceEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setDatasourceEditorSchema(buildDatasourceDefinitionSchema(pluginSchema));\n }\n\n function setPanelEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setPanelEditorSchema(buildPanelEditorSchema(pluginSchema));\n }\n\n function setVariableEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setVariableEditorSchema(buildVariableDefinitionSchema(pluginSchema));\n }\n\n function setAnnotationEditorSchemaPlugin(pluginSchema: PluginSchema): void {\n setAnnotationEditorSchema(buildAnnotationSpecSchema(pluginSchema));\n }\n\n return (\n <ValidationSchemasContext.Provider\n value={{\n datasourceEditorSchema,\n panelEditorSchema,\n variableEditorSchema,\n annotationEditorSchema,\n setDatasourceEditorSchemaPlugin,\n setPanelEditorSchemaPlugin,\n setVariableEditorSchemaPlugin,\n setAnnotationEditorSchemaPlugin,\n }}\n >\n {children}\n </ValidationSchemasContext.Provider>\n );\n}\n"],"names":["buildDatasourceDefinitionSchema","datasourceDefinitionSchema","annotationSpecSchema","buildAnnotationSpecSchema","buildVariableDefinitionSchema","variableDefinitionSchema","createContext","useContext","useState","buildPanelEditorSchema","panelEditorSchema","defaultPanelEditorSchema","ValidationSchemasContext","undefined","useValidationSchemas","ctx","Error","ValidationProvider","children","datasourceEditorSchema","setDatasourceEditorSchema","setPanelEditorSchema","variableEditorSchema","setVariableEditorSchema","annotationEditorSchema","setAnnotationEditorSchema","setDatasourceEditorSchemaPlugin","pluginSchema","setPanelEditorSchemaPlugin","setVariableEditorSchemaPlugin","setAnnotationEditorSchemaPlugin","Provider","value"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,+BAA+B,EAAEC,0BAA0B,QAAQ,qBAAqB;AAEjG,SACEC,oBAAoB,EACpBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,wBAAwB,QACnB,mBAAmB;AAE1B,SAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAQ;AAI5D,SAASC,sBAAsB,EAAEC,qBAAqBC,wBAAwB,QAAQ,qBAAY;AAalG,OAAO,MAAMC,yCAA2BN,cAA6CO,WAAW;AAEhG,OAAO,SAASC;IACd,MAAMC,MAAMR,WAAWK;IACvB,IAAIG,QAAQF,WAAW;QACrB,MAAM,IAAIG,MAAM;IAClB;IACA,OAAOD;AACT;AAMA;;CAEC,GACD,OAAO,SAASE,mBAAmB,EAAEC,QAAQ,EAA2B;IACtE,MAAM,CAACC,wBAAwBC,0BAA0B,GACvDZ,SAAgEP;IAClE,MAAM,CAACS,mBAAmBW,qBAAqB,GAC7Cb,SAA0DG;IAC5D,MAAM,CAACW,sBAAsBC,wBAAwB,GACnDf,SAA4DH;IAC9D,MAAM,CAACmB,wBAAwBC,0BAA0B,GACvDjB,SAAoDN;IAEtD,SAASwB,gCAAgCC,YAA0B;QACjEP,0BAA0BpB,gCAAgC2B;IAC5D;IAEA,SAASC,2BAA2BD,YAA0B;QAC5DN,qBAAqBZ,uBAAuBkB;IAC9C;IAEA,SAASE,8BAA8BF,YAA0B;QAC/DJ,wBAAwBnB,8BAA8BuB;IACxD;IAEA,SAASG,gCAAgCH,YAA0B;QACjEF,0BAA0BtB,0BAA0BwB;IACtD;IAEA,qBACE,KAACf,yBAAyBmB,QAAQ;QAChCC,OAAO;YACLb;YACAT;YACAY;YACAE;YACAE;YACAE;YACAC;YACAC;QACF;kBAECZ;;AAGP"}
@@ -10,6 +10,6 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- export * from './ValidationProvider';
13
+ export * from "./ValidationProvider.js";
14
14
 
15
15
  //# sourceMappingURL=index.js.map