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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/cjs/components/CalculationSelector/CalculationSelector.js +6 -4
  2. package/dist/cjs/components/CalculationSelector/index.js +10 -8
  3. package/dist/cjs/components/DatasourceEditorForm/DatasourceEditorForm.js +350 -0
  4. package/dist/cjs/components/DatasourceEditorForm/index.js +30 -0
  5. package/dist/cjs/components/DatasourceSelect.js +135 -25
  6. package/dist/cjs/components/LegendOptionsEditor/LegendOptionsEditor.js +18 -16
  7. package/dist/cjs/components/LegendOptionsEditor/index.js +10 -8
  8. package/dist/cjs/components/OptionsEditorRadios/OptionsEditorRadios.js +69 -0
  9. package/dist/cjs/components/OptionsEditorRadios/index.js +30 -0
  10. package/dist/cjs/components/{OptionsEditorTabs/TabPanel.js → OptionsEditorTabPanel/OptionsEditorTabPanel.js} +8 -6
  11. package/dist/cjs/components/OptionsEditorTabPanel/index.js +30 -0
  12. package/dist/cjs/components/OptionsEditorTabs/OptionsEditorTabs.js +10 -8
  13. package/dist/cjs/components/OptionsEditorTabs/index.js +10 -8
  14. package/dist/cjs/components/PanelSpecEditor/PanelSpecEditor.js +55 -14
  15. package/dist/cjs/components/PanelSpecEditor/index.js +10 -8
  16. package/dist/cjs/components/PluginEditor/PluginEditor.js +24 -31
  17. package/dist/cjs/components/PluginEditor/index.js +11 -9
  18. package/dist/cjs/components/PluginEditor/plugin-editor-api.js +5 -3
  19. package/dist/cjs/components/PluginKindSelect/PluginKindSelect.js +23 -12
  20. package/dist/cjs/components/PluginKindSelect/index.js +10 -8
  21. package/dist/cjs/components/PluginRegistry/PluginRegistry.js +11 -9
  22. package/dist/cjs/components/PluginRegistry/index.js +10 -8
  23. package/dist/cjs/components/PluginRegistry/plugin-indexes.js +6 -2
  24. package/dist/cjs/components/PluginSpecEditor/PluginSpecEditor.js +6 -4
  25. package/dist/cjs/components/PluginSpecEditor/index.js +10 -8
  26. package/dist/cjs/components/ProjectSelect.js +96 -0
  27. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +27 -23
  28. package/dist/cjs/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js +21 -19
  29. package/dist/cjs/components/TimeSeriesQueryEditor/index.js +10 -8
  30. package/dist/cjs/components/TraceQueryEditor/TraceQueryEditor.js +143 -0
  31. package/dist/cjs/components/TraceQueryEditor/TraceQueryInput.js +96 -0
  32. package/dist/cjs/components/TraceQueryEditor/index.js +30 -0
  33. package/dist/cjs/components/Variables/VariableEditorForm/VariableEditorForm.js +438 -229
  34. package/dist/cjs/components/Variables/VariableEditorForm/VariablePreview.js +32 -28
  35. package/dist/cjs/components/Variables/VariableEditorForm/index.js +11 -9
  36. package/dist/cjs/components/Variables/VariableEditorForm/variable-editor-form-model.js +35 -36
  37. package/dist/cjs/components/Variables/index.js +11 -9
  38. package/dist/cjs/components/Variables/variable-model.js +17 -9
  39. package/dist/cjs/components/index.js +23 -18
  40. package/dist/cjs/constants/index.js +10 -8
  41. package/dist/cjs/constants/user-interface-text.js +3 -1
  42. package/dist/cjs/context/ProjectStoreProvider.js +78 -0
  43. package/dist/cjs/context/index.js +30 -0
  44. package/dist/cjs/context/query-params.js +49 -0
  45. package/dist/cjs/index.js +17 -13
  46. package/dist/cjs/model/index.js +18 -15
  47. package/dist/cjs/model/legend.js +32 -20
  48. package/dist/cjs/model/panels.js +2 -2
  49. package/dist/cjs/model/plugin-base.js +2 -2
  50. package/dist/cjs/model/plugin-loading.js +3 -1
  51. package/dist/cjs/model/trace-queries.js +16 -0
  52. package/dist/cjs/runtime/DataQueriesProvider/DataQueriesProvider.js +67 -35
  53. package/dist/cjs/runtime/DataQueriesProvider/index.js +11 -9
  54. package/dist/cjs/runtime/DataQueriesProvider/model.js +81 -0
  55. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProvider.js +43 -26
  56. package/dist/cjs/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +43 -0
  57. package/dist/cjs/runtime/TimeRangeProvider/index.js +12 -9
  58. package/dist/cjs/runtime/TimeRangeProvider/query-params.js +41 -55
  59. package/dist/cjs/runtime/TimeRangeProvider/refresh-interval.js +30 -0
  60. package/dist/cjs/runtime/builtin-variables.js +81 -0
  61. package/dist/cjs/runtime/datasources.js +31 -12
  62. package/dist/cjs/runtime/index.js +17 -13
  63. package/dist/cjs/runtime/plugin-registry.js +41 -11
  64. package/dist/cjs/runtime/template-variables.js +96 -4
  65. package/dist/cjs/runtime/time-series-queries.js +39 -27
  66. package/dist/cjs/runtime/trace-queries.js +76 -0
  67. package/dist/cjs/stories/shared-utils/decorators/WithDataQueries.js +7 -5
  68. package/dist/cjs/stories/shared-utils/decorators/WithPluginRegistry.js +18 -15
  69. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +42 -0
  70. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +31 -13
  71. package/dist/cjs/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.js +6 -4
  72. package/dist/cjs/stories/shared-utils/decorators/WithTimeRange.js +9 -7
  73. package/dist/cjs/stories/shared-utils/decorators/index.js +15 -12
  74. package/dist/cjs/stories/shared-utils/index.js +10 -8
  75. package/dist/cjs/test/index.js +11 -8
  76. package/dist/cjs/test/mock-data.js +80 -0
  77. package/dist/cjs/test/render.js +13 -11
  78. package/dist/cjs/test/test-plugins/bert/index.js +14 -10
  79. package/dist/cjs/test/test-plugins/ernie/index.js +13 -9
  80. package/dist/cjs/test/test-plugins/index.js +11 -9
  81. package/dist/cjs/test-utils/index.js +10 -8
  82. package/dist/cjs/test-utils/mock-plugin-registry.js +8 -4
  83. package/dist/cjs/utils/action.js +43 -0
  84. package/dist/cjs/utils/index.js +11 -8
  85. package/dist/cjs/utils/variables.js +26 -8
  86. package/dist/cjs/validation/datasource.js +30 -0
  87. package/dist/cjs/validation/index.js +33 -0
  88. package/dist/cjs/validation/resource.js +24 -0
  89. package/dist/cjs/validation/role.js +85 -0
  90. package/dist/cjs/validation/rolebinding.js +55 -0
  91. package/dist/cjs/validation/secret.js +176 -0
  92. package/dist/cjs/validation/variable.js +48 -0
  93. package/dist/components/CalculationSelector/CalculationSelector.js.map +1 -1
  94. package/dist/components/CalculationSelector/index.js.map +1 -1
  95. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts +15 -0
  96. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.d.ts.map +1 -0
  97. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js +342 -0
  98. package/dist/components/DatasourceEditorForm/DatasourceEditorForm.js.map +1 -0
  99. package/dist/components/DatasourceEditorForm/index.d.ts +2 -0
  100. package/dist/components/DatasourceEditorForm/index.d.ts.map +1 -0
  101. package/dist/components/DatasourceEditorForm/index.js +15 -0
  102. package/dist/components/DatasourceEditorForm/index.js.map +1 -0
  103. package/dist/components/DatasourceSelect.d.ts +6 -0
  104. package/dist/components/DatasourceSelect.d.ts.map +1 -1
  105. package/dist/components/DatasourceSelect.js +118 -23
  106. package/dist/components/DatasourceSelect.js.map +1 -1
  107. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js +2 -2
  108. package/dist/components/LegendOptionsEditor/LegendOptionsEditor.js.map +1 -1
  109. package/dist/components/LegendOptionsEditor/index.js.map +1 -1
  110. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts +16 -0
  111. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.d.ts.map +1 -0
  112. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js +61 -0
  113. package/dist/components/OptionsEditorRadios/OptionsEditorRadios.js.map +1 -0
  114. package/dist/components/OptionsEditorRadios/index.d.ts +2 -0
  115. package/dist/components/OptionsEditorRadios/index.d.ts.map +1 -0
  116. package/dist/components/OptionsEditorRadios/index.js +15 -0
  117. package/dist/components/OptionsEditorRadios/index.js.map +1 -0
  118. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts +9 -0
  119. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.d.ts.map +1 -0
  120. package/dist/components/{OptionsEditorTabs/TabPanel.js → OptionsEditorTabPanel/OptionsEditorTabPanel.js} +2 -2
  121. package/dist/components/OptionsEditorTabPanel/OptionsEditorTabPanel.js.map +1 -0
  122. package/dist/components/OptionsEditorTabPanel/index.d.ts +2 -0
  123. package/dist/components/OptionsEditorTabPanel/index.d.ts.map +1 -0
  124. package/dist/components/OptionsEditorTabPanel/index.js +15 -0
  125. package/dist/components/OptionsEditorTabPanel/index.js.map +1 -0
  126. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js +2 -2
  127. package/dist/components/OptionsEditorTabs/OptionsEditorTabs.js.map +1 -1
  128. package/dist/components/OptionsEditorTabs/index.js.map +1 -1
  129. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts +1 -1
  130. package/dist/components/PanelSpecEditor/PanelSpecEditor.d.ts.map +1 -1
  131. package/dist/components/PanelSpecEditor/PanelSpecEditor.js +45 -6
  132. package/dist/components/PanelSpecEditor/PanelSpecEditor.js.map +1 -1
  133. package/dist/components/PanelSpecEditor/index.js.map +1 -1
  134. package/dist/components/PluginEditor/PluginEditor.js +15 -24
  135. package/dist/components/PluginEditor/PluginEditor.js.map +1 -1
  136. package/dist/components/PluginEditor/index.js.map +1 -1
  137. package/dist/components/PluginEditor/plugin-editor-api.d.ts +2 -1
  138. package/dist/components/PluginEditor/plugin-editor-api.d.ts.map +1 -1
  139. package/dist/components/PluginEditor/plugin-editor-api.js +2 -2
  140. package/dist/components/PluginEditor/plugin-editor-api.js.map +1 -1
  141. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts +3 -3
  142. package/dist/components/PluginKindSelect/PluginKindSelect.d.ts.map +1 -1
  143. package/dist/components/PluginKindSelect/PluginKindSelect.js +21 -12
  144. package/dist/components/PluginKindSelect/PluginKindSelect.js.map +1 -1
  145. package/dist/components/PluginKindSelect/index.js.map +1 -1
  146. package/dist/components/PluginRegistry/PluginRegistry.js +3 -3
  147. package/dist/components/PluginRegistry/PluginRegistry.js.map +1 -1
  148. package/dist/components/PluginRegistry/index.js.map +1 -1
  149. package/dist/components/PluginRegistry/plugin-indexes.js.map +1 -1
  150. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts +1 -0
  151. package/dist/components/PluginSpecEditor/PluginSpecEditor.d.ts.map +1 -1
  152. package/dist/components/PluginSpecEditor/PluginSpecEditor.js.map +1 -1
  153. package/dist/components/PluginSpecEditor/index.js.map +1 -1
  154. package/dist/components/ProjectSelect.d.ts +15 -0
  155. package/dist/components/ProjectSelect.d.ts.map +1 -0
  156. package/dist/components/ProjectSelect.js +91 -0
  157. package/dist/components/ProjectSelect.js.map +1 -0
  158. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.d.ts.map +1 -1
  159. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js +19 -17
  160. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryEditor.js.map +1 -1
  161. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js +1 -1
  162. package/dist/components/TimeSeriesQueryEditor/TimeSeriesQueryInput.js.map +1 -1
  163. package/dist/components/TimeSeriesQueryEditor/index.js.map +1 -1
  164. package/dist/components/TraceQueryEditor/TraceQueryEditor.d.ts +9 -0
  165. package/dist/components/TraceQueryEditor/TraceQueryEditor.d.ts.map +1 -0
  166. package/dist/components/TraceQueryEditor/TraceQueryEditor.js +130 -0
  167. package/dist/components/TraceQueryEditor/TraceQueryEditor.js.map +1 -0
  168. package/dist/components/TraceQueryEditor/TraceQueryInput.d.ts +13 -0
  169. package/dist/components/TraceQueryEditor/TraceQueryInput.d.ts.map +1 -0
  170. package/dist/components/TraceQueryEditor/TraceQueryInput.js +83 -0
  171. package/dist/components/TraceQueryEditor/TraceQueryInput.js.map +1 -0
  172. package/dist/components/TraceQueryEditor/index.d.ts +2 -0
  173. package/dist/components/TraceQueryEditor/index.d.ts.map +1 -0
  174. package/dist/components/TraceQueryEditor/index.js +15 -0
  175. package/dist/components/TraceQueryEditor/index.js.map +1 -0
  176. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts +10 -8
  177. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.d.ts.map +1 -1
  178. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js +391 -184
  179. package/dist/components/Variables/VariableEditorForm/VariableEditorForm.js.map +1 -1
  180. package/dist/components/Variables/VariableEditorForm/VariablePreview.js.map +1 -1
  181. package/dist/components/Variables/VariableEditorForm/index.js.map +1 -1
  182. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts +8 -19
  183. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.d.ts.map +1 -1
  184. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js +29 -34
  185. package/dist/components/Variables/VariableEditorForm/variable-editor-form-model.js.map +1 -1
  186. package/dist/components/Variables/index.js.map +1 -1
  187. package/dist/components/Variables/variable-model.js +3 -3
  188. package/dist/components/Variables/variable-model.js.map +1 -1
  189. package/dist/components/index.d.ts +3 -0
  190. package/dist/components/index.d.ts.map +1 -1
  191. package/dist/components/index.js +3 -0
  192. package/dist/components/index.js.map +1 -1
  193. package/dist/constants/index.js.map +1 -1
  194. package/dist/constants/user-interface-text.js.map +1 -1
  195. package/dist/context/ProjectStoreProvider.d.ts +16 -0
  196. package/dist/context/ProjectStoreProvider.d.ts.map +1 -0
  197. package/dist/context/ProjectStoreProvider.js +56 -0
  198. package/dist/context/ProjectStoreProvider.js.map +1 -0
  199. package/dist/context/index.d.ts +2 -0
  200. package/dist/context/index.d.ts.map +1 -0
  201. package/dist/context/index.js +15 -0
  202. package/dist/context/index.js.map +1 -0
  203. package/dist/context/query-params.d.ts +5 -0
  204. package/dist/context/query-params.d.ts.map +1 -0
  205. package/dist/context/query-params.js +41 -0
  206. package/dist/context/query-params.js.map +1 -0
  207. package/dist/index.d.ts +2 -0
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +2 -0
  210. package/dist/index.js.map +1 -1
  211. package/dist/model/datasource.d.ts +2 -1
  212. package/dist/model/datasource.d.ts.map +1 -1
  213. package/dist/model/datasource.js.map +1 -1
  214. package/dist/model/index.d.ts +1 -0
  215. package/dist/model/index.d.ts.map +1 -1
  216. package/dist/model/index.js +1 -0
  217. package/dist/model/index.js.map +1 -1
  218. package/dist/model/legend.d.ts +1 -1
  219. package/dist/model/legend.d.ts.map +1 -1
  220. package/dist/model/legend.js +14 -14
  221. package/dist/model/legend.js.map +1 -1
  222. package/dist/model/panels.d.ts +2 -1
  223. package/dist/model/panels.d.ts.map +1 -1
  224. package/dist/model/panels.js.map +1 -1
  225. package/dist/model/plugin-base.d.ts +1 -0
  226. package/dist/model/plugin-base.d.ts.map +1 -1
  227. package/dist/model/plugin-base.js.map +1 -1
  228. package/dist/model/plugin-loading.js.map +1 -1
  229. package/dist/model/plugins.d.ts +2 -0
  230. package/dist/model/plugins.d.ts.map +1 -1
  231. package/dist/model/plugins.js.map +1 -1
  232. package/dist/model/trace-queries.d.ts +19 -0
  233. package/dist/model/trace-queries.d.ts.map +1 -0
  234. package/dist/model/trace-queries.js +15 -0
  235. package/dist/model/trace-queries.js.map +1 -0
  236. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts +5 -5
  237. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.d.ts.map +1 -1
  238. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js +52 -28
  239. package/dist/runtime/DataQueriesProvider/DataQueriesProvider.js.map +1 -1
  240. package/dist/runtime/DataQueriesProvider/index.js.map +1 -1
  241. package/dist/runtime/DataQueriesProvider/model.d.ts +17 -12
  242. package/dist/runtime/DataQueriesProvider/model.d.ts.map +1 -1
  243. package/dist/runtime/DataQueriesProvider/model.js +67 -1
  244. package/dist/runtime/DataQueriesProvider/model.js.map +1 -1
  245. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts +4 -3
  246. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.d.ts.map +1 -1
  247. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js +28 -19
  248. package/dist/runtime/TimeRangeProvider/TimeRangeProvider.js.map +1 -1
  249. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts +9 -0
  250. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.d.ts.map +1 -0
  251. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js +30 -0
  252. package/dist/runtime/TimeRangeProvider/TimeRangeProviderWithQueryParams.js.map +1 -0
  253. package/dist/runtime/TimeRangeProvider/index.d.ts +1 -0
  254. package/dist/runtime/TimeRangeProvider/index.d.ts.map +1 -1
  255. package/dist/runtime/TimeRangeProvider/index.js +1 -0
  256. package/dist/runtime/TimeRangeProvider/index.js.map +1 -1
  257. package/dist/runtime/TimeRangeProvider/query-params.d.ts +4 -4
  258. package/dist/runtime/TimeRangeProvider/query-params.d.ts.map +1 -1
  259. package/dist/runtime/TimeRangeProvider/query-params.js +9 -41
  260. package/dist/runtime/TimeRangeProvider/query-params.js.map +1 -1
  261. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts +7 -0
  262. package/dist/runtime/TimeRangeProvider/refresh-interval.d.ts.map +1 -0
  263. package/dist/runtime/TimeRangeProvider/refresh-interval.js +25 -0
  264. package/dist/runtime/TimeRangeProvider/refresh-interval.js.map +1 -0
  265. package/dist/runtime/builtin-variables.d.ts +11 -0
  266. package/dist/runtime/builtin-variables.d.ts.map +1 -0
  267. package/dist/runtime/builtin-variables.js +59 -0
  268. package/dist/runtime/builtin-variables.js.map +1 -0
  269. package/dist/runtime/datasources.d.ts +42 -7
  270. package/dist/runtime/datasources.d.ts.map +1 -1
  271. package/dist/runtime/datasources.js +15 -7
  272. package/dist/runtime/datasources.js.map +1 -1
  273. package/dist/runtime/index.d.ts +2 -0
  274. package/dist/runtime/index.d.ts.map +1 -1
  275. package/dist/runtime/index.js +2 -0
  276. package/dist/runtime/index.js.map +1 -1
  277. package/dist/runtime/plugin-registry.d.ts +2 -0
  278. package/dist/runtime/plugin-registry.d.ts.map +1 -1
  279. package/dist/runtime/plugin-registry.js +19 -2
  280. package/dist/runtime/plugin-registry.js.map +1 -1
  281. package/dist/runtime/template-variables.d.ts +62 -2
  282. package/dist/runtime/template-variables.d.ts.map +1 -1
  283. package/dist/runtime/template-variables.js +83 -1
  284. package/dist/runtime/template-variables.js.map +1 -1
  285. package/dist/runtime/time-series-queries.d.ts +3 -3
  286. package/dist/runtime/time-series-queries.d.ts.map +1 -1
  287. package/dist/runtime/time-series-queries.js +14 -12
  288. package/dist/runtime/time-series-queries.js.map +1 -1
  289. package/dist/runtime/trace-queries.d.ts +14 -0
  290. package/dist/runtime/trace-queries.d.ts.map +1 -0
  291. package/dist/runtime/trace-queries.js +61 -0
  292. package/dist/runtime/trace-queries.js.map +1 -0
  293. package/dist/stories/shared-utils/decorators/WithDataQueries.js.map +1 -1
  294. package/dist/stories/shared-utils/decorators/WithPluginRegistry.d.ts.map +1 -1
  295. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js +2 -1
  296. package/dist/stories/shared-utils/decorators/WithPluginRegistry.js.map +1 -1
  297. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts +13 -0
  298. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.d.ts.map +1 -0
  299. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js +39 -0
  300. package/dist/stories/shared-utils/decorators/WithPluginSystemBuiltinVariables.js.map +1 -0
  301. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.d.ts.map +1 -1
  302. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js +23 -7
  303. package/dist/stories/shared-utils/decorators/WithPluginSystemDatasourceStore.js.map +1 -1
  304. package/dist/stories/shared-utils/decorators/WithPluginSystemTemplateVariables.js.map +1 -1
  305. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts +2 -2
  306. package/dist/stories/shared-utils/decorators/WithTimeRange.d.ts.map +1 -1
  307. package/dist/stories/shared-utils/decorators/WithTimeRange.js +2 -2
  308. package/dist/stories/shared-utils/decorators/WithTimeRange.js.map +1 -1
  309. package/dist/stories/shared-utils/decorators/index.d.ts +1 -0
  310. package/dist/stories/shared-utils/decorators/index.d.ts.map +1 -1
  311. package/dist/stories/shared-utils/decorators/index.js +1 -0
  312. package/dist/stories/shared-utils/decorators/index.js.map +1 -1
  313. package/dist/stories/shared-utils/index.js.map +1 -1
  314. package/dist/test/index.d.ts +1 -0
  315. package/dist/test/index.d.ts.map +1 -1
  316. package/dist/test/index.js +1 -0
  317. package/dist/test/index.js.map +1 -1
  318. package/dist/test/mock-data.d.ts +4 -0
  319. package/dist/test/mock-data.d.ts.map +1 -0
  320. package/dist/test/mock-data.js +64 -0
  321. package/dist/test/mock-data.js.map +1 -0
  322. package/dist/test/render.js +2 -2
  323. package/dist/test/render.js.map +1 -1
  324. package/dist/test/setup-tests.js.map +1 -1
  325. package/dist/test/test-plugins/bert/index.js.map +1 -1
  326. package/dist/test/test-plugins/ernie/index.js.map +1 -1
  327. package/dist/test/test-plugins/index.js.map +1 -1
  328. package/dist/test-utils/index.js.map +1 -1
  329. package/dist/test-utils/mock-plugin-registry.js +2 -2
  330. package/dist/test-utils/mock-plugin-registry.js.map +1 -1
  331. package/dist/utils/action.d.ts +4 -0
  332. package/dist/utils/action.d.ts.map +1 -0
  333. package/dist/utils/action.js +27 -0
  334. package/dist/utils/action.js.map +1 -0
  335. package/dist/utils/index.d.ts +1 -0
  336. package/dist/utils/index.d.ts.map +1 -1
  337. package/dist/utils/index.js +1 -0
  338. package/dist/utils/index.js.map +1 -1
  339. package/dist/utils/variables.d.ts.map +1 -1
  340. package/dist/utils/variables.js +17 -5
  341. package/dist/utils/variables.js.map +1 -1
  342. package/dist/validation/datasource.d.ts +19 -0
  343. package/dist/validation/datasource.d.ts.map +1 -0
  344. package/dist/validation/datasource.js +22 -0
  345. package/dist/validation/datasource.js.map +1 -0
  346. package/dist/validation/index.d.ts +5 -0
  347. package/dist/validation/index.d.ts.map +1 -0
  348. package/dist/validation/index.js +18 -0
  349. package/dist/validation/index.js.map +1 -0
  350. package/dist/validation/resource.d.ts +3 -0
  351. package/dist/validation/resource.d.ts.map +1 -0
  352. package/dist/validation/resource.js +16 -0
  353. package/dist/validation/resource.js.map +1 -0
  354. package/dist/validation/role.d.ts +228 -0
  355. package/dist/validation/role.d.ts.map +1 -0
  356. package/dist/validation/role.js +66 -0
  357. package/dist/validation/role.js.map +1 -0
  358. package/dist/validation/rolebinding.d.ts +137 -0
  359. package/dist/validation/rolebinding.d.ts.map +1 -0
  360. package/dist/validation/rolebinding.js +47 -0
  361. package/dist/validation/rolebinding.js.map +1 -0
  362. package/dist/validation/secret.d.ts +964 -0
  363. package/dist/validation/secret.d.ts.map +1 -0
  364. package/dist/validation/secret.js +157 -0
  365. package/dist/validation/secret.js.map +1 -0
  366. package/dist/validation/variable.d.ts +96 -0
  367. package/dist/validation/variable.d.ts.map +1 -0
  368. package/dist/validation/variable.js +40 -0
  369. package/dist/validation/variable.js.map +1 -0
  370. package/package.json +9 -6
  371. package/dist/components/OptionsEditorTabs/TabPanel.d.ts +0 -9
  372. package/dist/components/OptionsEditorTabs/TabPanel.d.ts.map +0 -1
  373. package/dist/components/OptionsEditorTabs/TabPanel.js.map +0 -1
@@ -21,19 +21,37 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- encodeTimeRangeValue: ()=>encodeTimeRangeValue,
25
- decodeTimeRangeValue: ()=>decodeTimeRangeValue,
26
- TimeRangeParam: ()=>TimeRangeParam,
27
- timeRangeQueryConfig: ()=>timeRangeQueryConfig,
28
- refreshIntervalQueryConfig: ()=>refreshIntervalQueryConfig,
29
- useInitialTimeRange: ()=>useInitialTimeRange,
30
- useSetTimeRangeParams: ()=>useSetTimeRangeParams,
31
- useInitialRefreshInterval: ()=>useInitialRefreshInterval,
32
- useSetRefreshIntervalParams: ()=>useSetRefreshIntervalParams
24
+ encodeTimeRangeValue: function() {
25
+ return encodeTimeRangeValue;
26
+ },
27
+ decodeTimeRangeValue: function() {
28
+ return decodeTimeRangeValue;
29
+ },
30
+ TimeRangeParam: function() {
31
+ return TimeRangeParam;
32
+ },
33
+ timeRangeQueryConfig: function() {
34
+ return timeRangeQueryConfig;
35
+ },
36
+ refreshIntervalQueryConfig: function() {
37
+ return refreshIntervalQueryConfig;
38
+ },
39
+ useInitialTimeRange: function() {
40
+ return useInitialTimeRange;
41
+ },
42
+ useTimeRangeParams: function() {
43
+ return useTimeRangeParams;
44
+ },
45
+ useInitialRefreshInterval: function() {
46
+ return useInitialRefreshInterval;
47
+ },
48
+ useSetRefreshIntervalParams: function() {
49
+ return useSetRefreshIntervalParams;
50
+ }
33
51
  });
34
52
  const _react = require("react");
35
- const _useQueryParams = require("use-query-params");
36
- const _dateFns = require("date-fns");
53
+ const _usequeryparams = require("use-query-params");
54
+ const _datefns = require("date-fns");
37
55
  const _core = require("@perses-dev/core");
38
56
  /* Interprets an encoded string and returns either the string or null/undefined if not available */ function getEncodedValue(input, allowEmptyString) {
39
57
  if (input == null) {
@@ -61,7 +79,7 @@ function encodeTimeRangeValue(timeOptionValue) {
61
79
  return timeOptionValue;
62
80
  }
63
81
  }
64
- return ((0, _dateFns.getUnixTime)(timeOptionValue) * 1000).toString();
82
+ return ((0, _datefns.getUnixTime)(timeOptionValue) * 1000).toString();
65
83
  }
66
84
  function decodeTimeRangeValue(input) {
67
85
  const paramString = getEncodedValue(input);
@@ -85,7 +103,7 @@ const refreshIntervalQueryConfig = {
85
103
  refresh: TimeRangeParam
86
104
  };
87
105
  function useInitialTimeRange(dashboardDuration) {
88
- const [query] = (0, _useQueryParams.useQueryParams)(timeRangeQueryConfig, {
106
+ const [query] = (0, _usequeryparams.useQueryParams)(timeRangeQueryConfig, {
89
107
  updateType: 'replaceIn'
90
108
  });
91
109
  const { start , end } = query;
@@ -101,7 +119,7 @@ function useInitialTimeRange(dashboardDuration) {
101
119
  initialTimeRange = {
102
120
  pastDuration: startStr
103
121
  };
104
- } else if ((0, _dateFns.isDate)(start) && (0, _dateFns.isDate)(end)) {
122
+ } else if ((0, _datefns.isDate)(start) && (0, _datefns.isDate)(end)) {
105
123
  initialTimeRange = {
106
124
  start: start,
107
125
  end: end
@@ -114,19 +132,16 @@ function useInitialTimeRange(dashboardDuration) {
114
132
  dashboardDuration
115
133
  ]);
116
134
  }
117
- function useSetTimeRangeParams(initialTimeRange, enabledURLParams = true) {
118
- const [query, setQuery] = (0, _useQueryParams.useQueryParams)(timeRangeQueryConfig, {
135
+ function useTimeRangeParams(initialTimeRange) {
136
+ const [query, setQuery] = (0, _usequeryparams.useQueryParams)(timeRangeQueryConfig, {
119
137
  updateType: 'replaceIn'
120
138
  });
121
139
  // determine whether initial param had previously been populated to fix back btn
122
140
  const [paramsLoaded, setParamsLoaded] = (0, _react.useState)(false);
123
- // optional fallback when app does not want query string as source of truth
124
- // this occurs when enabledURLParams is set to false on TimeRangeProvider
125
- const [timeRangeState, setTimeRangeState] = (0, _react.useState)(initialTimeRange);
126
141
  const { start } = query;
127
142
  (0, _react.useEffect)(()=>{
128
143
  // when dashboard loaded with no params, default to dashboard duration
129
- if (enabledURLParams && !paramsLoaded && !start) {
144
+ if (!paramsLoaded && !start) {
130
145
  if ((0, _core.isRelativeTimeRange)(initialTimeRange)) {
131
146
  setQuery({
132
147
  start: initialTimeRange.pastDuration,
@@ -137,7 +152,6 @@ function useSetTimeRangeParams(initialTimeRange, enabledURLParams = true) {
137
152
  }
138
153
  }, [
139
154
  initialTimeRange,
140
- enabledURLParams,
141
155
  paramsLoaded,
142
156
  start,
143
157
  setQuery
@@ -154,19 +168,13 @@ function useSetTimeRangeParams(initialTimeRange, enabledURLParams = true) {
154
168
  }, [
155
169
  setQuery
156
170
  ]);
157
- if (!enabledURLParams) {
158
- return {
159
- timeRange: timeRangeState,
160
- setTimeRange: setTimeRangeState
161
- };
162
- }
163
171
  return {
164
172
  timeRange: initialTimeRange,
165
173
  setTimeRange: setTimeRange
166
174
  };
167
175
  }
168
176
  function useInitialRefreshInterval(dashboardDuration) {
169
- const [query] = (0, _useQueryParams.useQueryParams)(refreshIntervalQueryConfig, {
177
+ const [query] = (0, _usequeryparams.useQueryParams)(refreshIntervalQueryConfig, {
170
178
  updateType: 'replaceIn'
171
179
  });
172
180
  const { refresh } = query;
@@ -185,29 +193,16 @@ function useInitialRefreshInterval(dashboardDuration) {
185
193
  refresh
186
194
  ]);
187
195
  }
188
- function getRefreshIntervalInMs(refreshInterval) {
189
- let refreshIntervalInMs = 0;
190
- if (refreshInterval) {
191
- const refreshIntervalDuration = (0, _core.parseDurationString)(refreshInterval);
192
- if (refreshIntervalDuration && refreshIntervalDuration.seconds) {
193
- refreshIntervalInMs = (refreshIntervalDuration === null || refreshIntervalDuration === void 0 ? void 0 : refreshIntervalDuration.seconds) * 1000;
194
- }
195
- }
196
- return refreshIntervalInMs;
197
- }
198
- function useSetRefreshIntervalParams(initialRefreshInterval, enabledURLParams = true) {
199
- const [query, setQuery] = (0, _useQueryParams.useQueryParams)(refreshIntervalQueryConfig, {
196
+ function useSetRefreshIntervalParams(initialRefreshInterval) {
197
+ const [query, setQuery] = (0, _usequeryparams.useQueryParams)(refreshIntervalQueryConfig, {
200
198
  updateType: 'replaceIn'
201
199
  });
202
200
  // determine whether initial param had previously been populated to fix back btn
203
201
  const [paramsLoaded, setParamsLoaded] = (0, _react.useState)(false);
204
- // optional fallback when app does not want query string as source of truth
205
- // this occurs when enabledURLParams is set to false on TimeRangeProvider
206
- const [refreshIntervalState, setRefreshIntervalState] = (0, _react.useState)(initialRefreshInterval);
207
202
  const { refresh } = query;
208
203
  (0, _react.useEffect)(()=>{
209
- // when dashboard loaded with no params, default to dashboard duration
210
- if (enabledURLParams && !paramsLoaded && !refresh) {
204
+ // when dashboard loaded with no params, default to dashboard refresh interval
205
+ if (!paramsLoaded && !refresh) {
211
206
  setQuery({
212
207
  refresh: initialRefreshInterval
213
208
  });
@@ -215,7 +210,6 @@ function useSetRefreshIntervalParams(initialRefreshInterval, enabledURLParams =
215
210
  }
216
211
  }, [
217
212
  initialRefreshInterval,
218
- enabledURLParams,
219
213
  paramsLoaded,
220
214
  refresh,
221
215
  setQuery
@@ -225,16 +219,8 @@ function useSetRefreshIntervalParams(initialRefreshInterval, enabledURLParams =
225
219
  }), [
226
220
  setQuery
227
221
  ]);
228
- if (!enabledURLParams) {
229
- return {
230
- refreshInterval: refreshIntervalState,
231
- setRefreshInterval: setRefreshIntervalState,
232
- refreshIntervalInMs: getRefreshIntervalInMs(refreshIntervalState)
233
- };
234
- }
235
222
  return {
236
223
  refreshInterval: initialRefreshInterval,
237
- setRefreshInterval: setRefreshInterval,
238
- refreshIntervalInMs: getRefreshIntervalInMs(initialRefreshInterval)
224
+ setRefreshInterval: setRefreshInterval
239
225
  };
240
226
  }
@@ -0,0 +1,30 @@
1
+ // Copyright 2023 The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "getRefreshIntervalInMs", {
18
+ enumerable: true,
19
+ get: function() {
20
+ return getRefreshIntervalInMs;
21
+ }
22
+ });
23
+ const _core = require("@perses-dev/core");
24
+ const _datefns = require("date-fns");
25
+ function getRefreshIntervalInMs(refreshInterval) {
26
+ if (refreshInterval !== undefined && refreshInterval !== null) {
27
+ return (0, _datefns.milliseconds)((0, _core.parseDurationString)(refreshInterval));
28
+ }
29
+ return 0;
30
+ }
@@ -0,0 +1,81 @@
1
+ // Copyright 2023 The Perses Authors
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ function _export(target, all) {
18
+ for(var name in all)Object.defineProperty(target, name, {
19
+ enumerable: true,
20
+ get: all[name]
21
+ });
22
+ }
23
+ _export(exports, {
24
+ BuiltinVariableContext: function() {
25
+ return BuiltinVariableContext;
26
+ },
27
+ useBuiltinVariableContext: function() {
28
+ return useBuiltinVariableContext;
29
+ },
30
+ useBuiltinVariableValues: function() {
31
+ return useBuiltinVariableValues;
32
+ },
33
+ useBuiltinVariableDefinitions: function() {
34
+ return useBuiltinVariableDefinitions;
35
+ }
36
+ });
37
+ const _react = require("react");
38
+ const BuiltinVariableContext = (0, _react.createContext)(undefined);
39
+ function useBuiltinVariableContext() {
40
+ const ctx = (0, _react.useContext)(BuiltinVariableContext);
41
+ if (ctx === undefined) {
42
+ throw new Error('No BuiltinVariableContext found. Did you forget a Provider?');
43
+ }
44
+ return ctx;
45
+ }
46
+ function useBuiltinVariableValues(names) {
47
+ const { variables } = useBuiltinVariableContext();
48
+ const states = (0, _react.useMemo)(()=>{
49
+ const values = {};
50
+ for (const variable of variables){
51
+ values[variable.spec.name] = {
52
+ loading: false,
53
+ value: variable.spec.value()
54
+ };
55
+ }
56
+ return values;
57
+ }, [
58
+ variables
59
+ ]);
60
+ const values = (0, _react.useMemo)(()=>{
61
+ const values = {};
62
+ names === null || names === void 0 ? void 0 : names.forEach((name)=>{
63
+ const s = states[name];
64
+ if (s) {
65
+ values[name] = s;
66
+ }
67
+ });
68
+ return values;
69
+ }, [
70
+ names,
71
+ states
72
+ ]);
73
+ if (names === undefined) {
74
+ return states;
75
+ }
76
+ return values;
77
+ }
78
+ function useBuiltinVariableDefinitions() {
79
+ const { variables } = useBuiltinVariableContext();
80
+ return variables;
81
+ }
@@ -21,12 +21,23 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- DatasourceStoreContext: ()=>DatasourceStoreContext,
25
- useDatasourceStore: ()=>useDatasourceStore,
26
- useListDatasources: ()=>useListDatasources,
27
- useDatasourceClient: ()=>useDatasourceClient
24
+ DatasourceStoreContext: function() {
25
+ return DatasourceStoreContext;
26
+ },
27
+ useDatasourceStore: function() {
28
+ return useDatasourceStore;
29
+ },
30
+ useListDatasourceSelectItems: function() {
31
+ return useListDatasourceSelectItems;
32
+ },
33
+ useDatasourceClient: function() {
34
+ return useDatasourceClient;
35
+ },
36
+ useDatasource: function() {
37
+ return useDatasource;
38
+ }
28
39
  });
29
- const _reactQuery = require("@tanstack/react-query");
40
+ const _reactquery = require("@tanstack/react-query");
30
41
  const _react = require("react");
31
42
  const DatasourceStoreContext = (0, _react.createContext)(undefined);
32
43
  function useDatasourceStore() {
@@ -36,17 +47,25 @@ function useDatasourceStore() {
36
47
  }
37
48
  return ctx;
38
49
  }
39
- function useListDatasources(datasourcePluginKind) {
40
- const { listDatasourceMetadata } = useDatasourceStore();
41
- return (0, _reactQuery.useQuery)([
42
- 'listDatasourceMetadata',
43
- datasourcePluginKind
44
- ], ()=>listDatasourceMetadata(datasourcePluginKind));
50
+ function useListDatasourceSelectItems(datasourcePluginKind, project) {
51
+ const { listDatasourceSelectItems } = useDatasourceStore();
52
+ return (0, _reactquery.useQuery)([
53
+ 'listDatasourceSelectItems',
54
+ datasourcePluginKind,
55
+ project
56
+ ], ()=>listDatasourceSelectItems(datasourcePluginKind));
45
57
  }
46
58
  function useDatasourceClient(selector) {
47
59
  const store = useDatasourceStore();
48
- return (0, _reactQuery.useQuery)([
60
+ return (0, _reactquery.useQuery)([
49
61
  'getDatasourceClient',
50
62
  selector
51
63
  ], ()=>store.getDatasourceClient(selector));
52
64
  }
65
+ function useDatasource(selector) {
66
+ const store = useDatasourceStore();
67
+ return (0, _reactquery.useQuery)([
68
+ 'getDatasource',
69
+ selector
70
+ ], ()=>store.getDatasource(selector));
71
+ }
@@ -14,20 +14,24 @@
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- _exportStar(require("./datasources"), exports);
18
- _exportStar(require("./plugin-registry"), exports);
19
- _exportStar(require("./template-variables"), exports);
20
- _exportStar(require("./TimeRangeProvider"), exports);
21
- _exportStar(require("./time-series-queries"), exports);
22
- _exportStar(require("./DataQueriesProvider"), exports);
23
- function _exportStar(from, to) {
17
+ _export_star(require("./builtin-variables"), exports);
18
+ _export_star(require("./datasources"), exports);
19
+ _export_star(require("./plugin-registry"), exports);
20
+ _export_star(require("./template-variables"), exports);
21
+ _export_star(require("./TimeRangeProvider"), exports);
22
+ _export_star(require("./time-series-queries"), exports);
23
+ _export_star(require("./trace-queries"), exports);
24
+ _export_star(require("./DataQueriesProvider"), exports);
25
+ function _export_star(from, to) {
24
26
  Object.keys(from).forEach(function(k) {
25
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
26
- enumerable: true,
27
- get: function() {
28
- return from[k];
29
- }
30
- });
27
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
28
+ Object.defineProperty(to, k, {
29
+ enumerable: true,
30
+ get: function() {
31
+ return from[k];
32
+ }
33
+ });
34
+ }
31
35
  });
32
36
  return from;
33
37
  }
@@ -21,14 +21,27 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- PluginRegistryContext: ()=>PluginRegistryContext,
25
- usePluginRegistry: ()=>usePluginRegistry,
26
- usePlugin: ()=>usePlugin,
27
- usePlugins: ()=>usePlugins,
28
- useListPluginMetadata: ()=>useListPluginMetadata
24
+ PluginRegistryContext: function() {
25
+ return PluginRegistryContext;
26
+ },
27
+ usePluginRegistry: function() {
28
+ return usePluginRegistry;
29
+ },
30
+ usePlugin: function() {
31
+ return usePlugin;
32
+ },
33
+ usePlugins: function() {
34
+ return usePlugins;
35
+ },
36
+ useListPluginMetadata: function() {
37
+ return useListPluginMetadata;
38
+ },
39
+ usePluginBuiltinVariableDefinitions: function() {
40
+ return usePluginBuiltinVariableDefinitions;
41
+ }
29
42
  });
30
43
  const _react = require("react");
31
- const _reactQuery = require("@tanstack/react-query");
44
+ const _reactquery = require("@tanstack/react-query");
32
45
  const PluginRegistryContext = (0, _react.createContext)(undefined);
33
46
  function usePluginRegistry() {
34
47
  const ctx = (0, _react.useContext)(PluginRegistryContext);
@@ -38,14 +51,14 @@ function usePluginRegistry() {
38
51
  return ctx;
39
52
  }
40
53
  function usePlugin(pluginType, kind, options) {
41
- var ref;
54
+ var _options_enabled;
42
55
  // We never want to ask for a plugin when the kind isn't set yet, so disable those queries automatically
43
56
  options = {
44
57
  ...options,
45
- enabled: ((ref = options === null || options === void 0 ? void 0 : options.enabled) !== null && ref !== void 0 ? ref : true) && kind !== ''
58
+ enabled: ((_options_enabled = options === null || options === void 0 ? void 0 : options.enabled) !== null && _options_enabled !== void 0 ? _options_enabled : true) && kind !== ''
46
59
  };
47
60
  const { getPlugin } = usePluginRegistry();
48
- return (0, _reactQuery.useQuery)([
61
+ return (0, _reactquery.useQuery)([
49
62
  'getPlugin',
50
63
  pluginType,
51
64
  kind
@@ -53,7 +66,7 @@ function usePlugin(pluginType, kind, options) {
53
66
  }
54
67
  function usePlugins(pluginType, plugins) {
55
68
  const { getPlugin } = usePluginRegistry();
56
- return (0, _reactQuery.useQueries)({
69
+ return (0, _reactquery.useQueries)({
57
70
  queries: plugins.map((p)=>{
58
71
  return {
59
72
  queryKey: [
@@ -68,8 +81,25 @@ function usePlugins(pluginType, plugins) {
68
81
  }
69
82
  function useListPluginMetadata(pluginType, options) {
70
83
  const { listPluginMetadata } = usePluginRegistry();
71
- return (0, _reactQuery.useQuery)([
84
+ return (0, _reactquery.useQuery)([
72
85
  'listPluginMetadata',
73
86
  pluginType
74
87
  ], ()=>listPluginMetadata(pluginType), options);
75
88
  }
89
+ function usePluginBuiltinVariableDefinitions() {
90
+ const { getPlugin , listPluginMetadata } = usePluginRegistry();
91
+ return (0, _reactquery.useQuery)([
92
+ 'usePluginBuiltinVariableDefinitions'
93
+ ], async ()=>{
94
+ const datasources = await listPluginMetadata('Datasource');
95
+ const datasourceKinds = new Set(datasources.map((datasource)=>datasource.kind));
96
+ const result = [];
97
+ for (const kind of datasourceKinds){
98
+ const plugin = await getPlugin('Datasource', kind);
99
+ if (plugin.getBuiltinVariableDefinitions) {
100
+ plugin.getBuiltinVariableDefinitions().forEach((definition)=>result.push(definition));
101
+ }
102
+ }
103
+ return result;
104
+ });
105
+ }
@@ -21,12 +21,99 @@ function _export(target, all) {
21
21
  });
22
22
  }
23
23
  _export(exports, {
24
- TemplateVariableContext: ()=>TemplateVariableContext,
25
- useTemplateVariableValues: ()=>useTemplateVariableValues,
26
- useReplaceVariablesInString: ()=>useReplaceVariablesInString
24
+ VariableStoreStateMap: function() {
25
+ return VariableStoreStateMap;
26
+ },
27
+ TemplateVariableContext: function() {
28
+ return TemplateVariableContext;
29
+ },
30
+ useTemplateVariableValues: function() {
31
+ return useTemplateVariableValues;
32
+ },
33
+ useVariableValues: function() {
34
+ return useVariableValues;
35
+ },
36
+ useReplaceVariablesInString: function() {
37
+ return useReplaceVariablesInString;
38
+ }
27
39
  });
28
40
  const _react = require("react");
41
+ const _immer = require("immer");
29
42
  const _utils = require("../utils");
43
+ const _builtinvariables = require("./builtin-variables");
44
+ function _define_property(obj, key, value) {
45
+ if (key in obj) {
46
+ Object.defineProperty(obj, key, {
47
+ value: value,
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true
51
+ });
52
+ } else {
53
+ obj[key] = value;
54
+ }
55
+ return obj;
56
+ }
57
+ let _immerable = _immer.immerable;
58
+ class VariableStoreStateMap {
59
+ /**
60
+ * Get variable state by key.
61
+ * @param key
62
+ */ get(key) {
63
+ return this._sourceStatesOrEmpty(key.source)[key.name];
64
+ }
65
+ /**
66
+ * Set variable state by key.
67
+ * @param key
68
+ * @param value
69
+ */ set(key, value) {
70
+ const sourceName = this._sourceName(key.source);
71
+ if (!this._state[sourceName]) {
72
+ this._state[sourceName] = {};
73
+ }
74
+ this._sourceStatesOrEmpty(key.source)[key.name] = value;
75
+ return value;
76
+ }
77
+ /**
78
+ * Check presence of variable state by key.
79
+ * @param key
80
+ */ has(key) {
81
+ return this._sourceStatesOrEmpty(key.source)[key.name] !== undefined;
82
+ }
83
+ /**
84
+ * Delete variable state by key.
85
+ * @param key
86
+ */ delete(key) {
87
+ var _Object_keys;
88
+ const result = this.has(key);
89
+ const sourceName = this._sourceName(key.source);
90
+ const sourceStates = this._state[sourceName];
91
+ // Delete var from source state
92
+ if (sourceStates) {
93
+ delete sourceStates[key.name];
94
+ }
95
+ // Delete source state from state if empty
96
+ if (((_Object_keys = Object.keys(sourceStates !== null && sourceStates !== void 0 ? sourceStates : {})) === null || _Object_keys === void 0 ? void 0 : _Object_keys.length) === 0) {
97
+ delete this._state[sourceName];
98
+ }
99
+ return result;
100
+ }
101
+ _sourceName(source) {
102
+ return source !== null && source !== void 0 ? source : this.DEFAULT_LOCAL_SOURCE_NAME;
103
+ }
104
+ _sourceStatesOrEmpty(source) {
105
+ var _this__state_this__sourceName;
106
+ return (_this__state_this__sourceName = this._state[this._sourceName(source)]) !== null && _this__state_this__sourceName !== void 0 ? _this__state_this__sourceName : {};
107
+ }
108
+ constructor(){
109
+ /**
110
+ * "Immerable" is mandatory to be able to use this class in an immer context.
111
+ * Ref: https://docs.pmnd.rs/zustand/integrations/immer-middleware#gotchas
112
+ */ _define_property(this, _immerable, true);
113
+ _define_property(this, "DEFAULT_LOCAL_SOURCE_NAME", '');
114
+ _define_property(this, "_state", {});
115
+ }
116
+ }
30
117
  const TemplateVariableContext = (0, _react.createContext)(undefined);
31
118
  function useTemplateVariableContext() {
32
119
  const ctx = (0, _react.useContext)(TemplateVariableContext);
@@ -55,9 +142,14 @@ function useTemplateVariableValues(names) {
55
142
  }
56
143
  return values;
57
144
  }
145
+ function useVariableValues(names) {
146
+ const templateVariableValues = useTemplateVariableValues(names);
147
+ const builtinVariableValues = (0, _builtinvariables.useBuiltinVariableValues)(names);
148
+ return Object.assign(templateVariableValues, builtinVariableValues);
149
+ }
58
150
  function useReplaceVariablesInString(str) {
59
151
  const variablesInString = str ? (0, _utils.parseTemplateVariables)(str) : [];
60
- const variableValues = useTemplateVariableValues(variablesInString);
152
+ const variableValues = useVariableValues(variablesInString);
61
153
  if (!str) return undefined;
62
154
  return (0, _utils.replaceTemplateVariables)(str, variableValues);
63
155
  }