@grafana/plugin-ui 0.16.1 → 0.17.1

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 (518) hide show
  1. package/dist/cjs/index.cjs +21907 -20495
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +882 -554
  4. package/dist/cjs/test-utils.cjs +3979 -91
  5. package/dist/cjs/test-utils.cjs.map +1 -1
  6. package/dist/cjs/test-utils.d.cts +1 -1
  7. package/dist/esm/_virtual/chance2.js +2 -2
  8. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js +7 -7
  9. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js.map +1 -1
  10. package/dist/esm/async-query-data/RunQueryButtons.js +4 -4
  11. package/dist/esm/async-query-data/RunQueryButtons.js.map +1 -1
  12. package/dist/esm/async-query-data/requestLooper.js +6 -6
  13. package/dist/esm/async-query-data/requestLooper.js.map +1 -1
  14. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
  15. package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
  16. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +7 -7
  17. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
  18. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
  19. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
  20. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
  21. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
  22. package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
  23. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
  24. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
  25. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
  26. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +3 -3
  27. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
  28. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
  29. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
  30. package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
  31. package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
  32. package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
  33. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
  34. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
  35. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
  36. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
  37. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
  38. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
  39. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
  40. package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
  41. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +23 -0
  42. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +1 -0
  43. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +27 -0
  44. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +1 -0
  45. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +61 -0
  46. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +1 -0
  47. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/WizardLayout.js +89 -0
  48. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/WizardLayout.js.map +1 -0
  49. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js +75 -0
  50. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js.map +1 -0
  51. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js +262 -0
  52. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js.map +1 -0
  53. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js +354 -0
  54. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js.map +1 -0
  55. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/formInterpreter.js +93 -0
  56. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/formInterpreter.js.map +1 -0
  57. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js +254 -0
  58. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +1 -0
  59. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +106 -0
  60. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +1 -0
  61. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js +52 -0
  62. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +1 -0
  63. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js +32 -0
  64. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +1 -0
  65. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FieldInput.js +110 -0
  66. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FieldInput.js.map +1 -0
  67. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +112 -0
  68. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +1 -0
  69. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js +140 -0
  70. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +1 -0
  71. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +201 -0
  72. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +1 -0
  73. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PrimitiveInputs.js +103 -0
  74. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PrimitiveInputs.js.map +1 -0
  75. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js +72 -0
  76. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +1 -0
  77. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +94 -0
  78. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +1 -0
  79. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/fieldUtils.js +138 -0
  80. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/fieldUtils.js.map +1 -0
  81. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/layoutParts.js +82 -0
  82. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/layoutParts.js.map +1 -0
  83. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +30 -0
  84. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +1 -0
  85. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js +128 -0
  86. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js.map +1 -0
  87. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
  88. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
  89. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
  90. package/dist/esm/components/DataLinks/DataLink.js +5 -4
  91. package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
  92. package/dist/esm/components/DataLinks/DataLinks.js +3 -3
  93. package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
  94. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +10 -10
  95. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
  96. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  97. package/dist/esm/components/DatePicker/styles.js +2 -2
  98. package/dist/esm/components/DatePicker/styles.js.map +1 -1
  99. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
  100. package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
  101. package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
  102. package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
  103. package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
  104. package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
  105. package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
  106. package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
  107. package/dist/esm/components/QueryEditor/ConfirmModal.js +2 -1
  108. package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
  109. package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
  110. package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
  111. package/dist/esm/components/QueryEditor/EditorField.js +5 -5
  112. package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
  113. package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
  114. package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
  115. package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
  116. package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
  117. package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
  118. package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
  119. package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
  120. package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
  121. package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
  122. package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
  123. package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
  124. package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
  125. package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
  126. package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
  127. package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
  128. package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
  129. package/dist/esm/components/QueryEditor/QueryEditor.js +7 -7
  130. package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
  131. package/dist/esm/components/QueryEditor/QueryEditorRow.js.map +1 -0
  132. package/dist/esm/components/QueryEditor/QueryHeader.js +18 -18
  133. package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
  134. package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
  135. package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
  136. package/dist/esm/components/QueryEditor/Space.js +2 -2
  137. package/dist/esm/components/QueryEditor/Space.js.map +1 -1
  138. package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
  139. package/dist/esm/components/QueryEditor/defaults.js +7 -7
  140. package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
  141. package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
  142. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
  143. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +4 -4
  144. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
  145. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
  146. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
  147. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +3 -3
  148. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
  149. package/dist/esm/components/QueryEditor/types.js.map +1 -1
  150. package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
  151. package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
  152. package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
  153. package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
  154. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +28 -27
  155. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
  156. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
  157. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
  158. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
  159. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
  160. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
  161. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
  162. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
  163. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
  164. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
  165. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +2 -2
  166. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
  167. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
  168. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -2
  169. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
  170. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
  171. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
  172. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
  173. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
  174. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
  175. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
  176. package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
  177. package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
  178. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
  179. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
  180. package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
  181. package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
  182. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
  183. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
  184. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
  185. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
  186. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
  187. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
  188. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
  189. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
  190. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
  191. package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
  192. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
  193. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
  194. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +3 -3
  195. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
  196. package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
  197. package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
  198. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
  199. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
  200. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
  201. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
  202. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +25 -25
  203. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
  204. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
  205. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
  206. package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
  207. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
  208. package/dist/esm/components/SQLEditor/types.js.map +1 -1
  209. package/dist/esm/components/SQLEditor/utils/LinkedToken.js +15 -12
  210. package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
  211. package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
  212. package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
  213. package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
  214. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
  215. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +1 -1
  216. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
  217. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
  218. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
  219. package/dist/esm/components/SQLEditor/utils/tokenType.js.map +1 -1
  220. package/dist/esm/components/SQLEditor/utils/tokenUtils.js +9 -9
  221. package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
  222. package/dist/esm/components/Segment/Segment.js.map +1 -1
  223. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +8 -8
  224. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
  225. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
  226. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
  227. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
  228. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
  229. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
  230. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
  231. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +3 -2
  232. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
  233. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
  234. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
  235. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +8 -5
  236. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
  237. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +5 -3
  238. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
  239. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +3 -3
  240. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
  241. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
  242. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
  243. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +6 -5
  244. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
  245. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +2 -2
  246. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
  247. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
  248. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
  249. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
  250. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +2 -2
  251. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
  252. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
  253. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
  254. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
  255. package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
  256. package/dist/esm/datasource/SqlDatasource.js +17 -16
  257. package/dist/esm/datasource/SqlDatasource.js.map +1 -1
  258. package/dist/esm/datasource/constants.js.map +1 -1
  259. package/dist/esm/hooks/useDebounce.js.map +1 -1
  260. package/dist/esm/index.d.ts +882 -554
  261. package/dist/esm/index.js +11 -3
  262. package/dist/esm/index.js.map +1 -1
  263. package/dist/esm/node_modules/chance/chance.js +3973 -88
  264. package/dist/esm/node_modules/chance/chance.js.map +1 -1
  265. package/dist/esm/node_modules/immutable/dist/immutable.es.js +6186 -0
  266. package/dist/esm/node_modules/immutable/dist/immutable.es.js.map +1 -0
  267. package/dist/esm/node_modules/js-yaml/dist/js-yaml.js +3059 -0
  268. package/dist/esm/node_modules/js-yaml/dist/js-yaml.js.map +1 -0
  269. package/dist/esm/node_modules/react-hook-form/dist/index.esm.js +2798 -0
  270. package/dist/esm/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
  271. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Observable.js +2 -2
  272. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -1
  273. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscriber.js +3 -3
  274. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -1
  275. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscription.js +1 -1
  276. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -1
  277. package/dist/esm/node_modules/rxjs/dist/esm5/internal/config.js +1 -6
  278. package/dist/esm/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -1
  279. package/dist/esm/node_modules/rxjs/dist/esm5/internal/lastValueFrom.js.map +1 -1
  280. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -1
  281. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js +3 -3
  282. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -1
  283. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/merge.js +2 -2
  284. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +1 -1
  285. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +1 -1
  286. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +1 -1
  287. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -1
  288. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +1 -1
  289. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/map.js +2 -2
  290. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +1 -1
  291. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js +1 -1
  292. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +1 -1
  293. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +1 -1
  294. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js +1 -1
  295. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +1 -1
  296. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +1 -1
  297. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -1
  298. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js +1 -1
  299. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -1
  300. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -1
  301. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -1
  302. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +1 -1
  303. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -1
  304. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -1
  305. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +1 -1
  306. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -1
  307. package/dist/esm/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -1
  308. package/dist/esm/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -1
  309. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js +7 -5
  310. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js.map +1 -1
  311. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -1
  312. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -1
  313. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -1
  314. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -1
  315. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +2 -2
  316. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -1
  317. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -1
  318. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js +1 -1
  319. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -1
  320. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +2 -2
  321. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -1
  322. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isIterable.js +1 -1
  323. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -1
  324. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isPromise.js +1 -1
  325. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -1
  326. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +2 -2
  327. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -1
  328. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/lift.js +1 -1
  329. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -1
  330. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -1
  331. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -1
  332. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -1
  333. package/dist/esm/node_modules/semver/classes/comparator.js.map +1 -1
  334. package/dist/esm/node_modules/semver/classes/range.js +24 -4
  335. package/dist/esm/node_modules/semver/classes/range.js.map +1 -1
  336. package/dist/esm/node_modules/semver/classes/semver.js +27 -10
  337. package/dist/esm/node_modules/semver/classes/semver.js.map +1 -1
  338. package/dist/esm/node_modules/semver/functions/clean.js.map +1 -1
  339. package/dist/esm/node_modules/semver/functions/cmp.js.map +1 -1
  340. package/dist/esm/node_modules/semver/functions/coerce.js.map +1 -1
  341. package/dist/esm/node_modules/semver/functions/compare-build.js.map +1 -1
  342. package/dist/esm/node_modules/semver/functions/diff.js +1 -1
  343. package/dist/esm/node_modules/semver/functions/diff.js.map +1 -1
  344. package/dist/esm/node_modules/semver/functions/inc.js.map +1 -1
  345. package/dist/esm/node_modules/semver/functions/parse.js.map +1 -1
  346. package/dist/esm/node_modules/semver/functions/prerelease.js.map +1 -1
  347. package/dist/esm/node_modules/semver/functions/satisfies.js.map +1 -1
  348. package/dist/esm/node_modules/semver/functions/truncate.js +62 -0
  349. package/dist/esm/node_modules/semver/functions/truncate.js.map +1 -0
  350. package/dist/esm/node_modules/semver/functions/valid.js +5 -5
  351. package/dist/esm/node_modules/semver/functions/valid.js.map +1 -1
  352. package/dist/esm/node_modules/semver/index.js +3 -0
  353. package/dist/esm/node_modules/semver/index.js.map +1 -1
  354. package/dist/esm/node_modules/semver/internal/debug.js.map +1 -1
  355. package/dist/esm/node_modules/semver/internal/identifiers.js.map +1 -1
  356. package/dist/esm/node_modules/semver/internal/lrucache.js.map +1 -1
  357. package/dist/esm/node_modules/semver/internal/parse-options.js.map +1 -1
  358. package/dist/esm/node_modules/semver/internal/re.js +13 -13
  359. package/dist/esm/node_modules/semver/internal/re.js.map +1 -1
  360. package/dist/esm/node_modules/semver/ranges/intersects.js.map +1 -1
  361. package/dist/esm/node_modules/semver/ranges/max-satisfying.js.map +1 -1
  362. package/dist/esm/node_modules/semver/ranges/min-satisfying.js.map +1 -1
  363. package/dist/esm/node_modules/semver/ranges/min-version.js.map +1 -1
  364. package/dist/esm/node_modules/semver/ranges/outside.js.map +1 -1
  365. package/dist/esm/node_modules/semver/ranges/simplify.js.map +1 -1
  366. package/dist/esm/node_modules/semver/ranges/subset.js +3 -3
  367. package/dist/esm/node_modules/semver/ranges/subset.js.map +1 -1
  368. package/dist/esm/node_modules/semver/ranges/valid.js.map +1 -1
  369. package/dist/esm/node_modules/tslib/tslib.es6.js +2 -2
  370. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  371. package/dist/esm/schema/utils/dsconfig.js +97 -0
  372. package/dist/esm/schema/utils/dsconfig.js.map +1 -0
  373. package/dist/esm/schema/utils/llm.js +54 -0
  374. package/dist/esm/schema/utils/llm.js.map +1 -0
  375. package/dist/esm/schema/utils/provisioning.js +389 -0
  376. package/dist/esm/schema/utils/provisioning.js.map +1 -0
  377. package/dist/esm/schema/utils/registry.js +31 -0
  378. package/dist/esm/schema/utils/registry.js.map +1 -0
  379. package/dist/esm/test/mocks/DataQuery.js.map +1 -1
  380. package/dist/esm/test/mocks/Datasource.js +1 -1
  381. package/dist/esm/test/mocks/Datasource.js.map +1 -1
  382. package/dist/esm/test/mocks/Plugin.js +5 -2
  383. package/dist/esm/test/mocks/Plugin.js.map +1 -1
  384. package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
  385. package/dist/esm/test/mocks/utils.js +2 -2
  386. package/dist/esm/test/mocks/utils.js.map +1 -1
  387. package/dist/esm/test-utils.d.ts +1 -1
  388. package/package.json +67 -66
  389. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +0 -1
  390. package/dist/esm/schema/registry/alertmanager.schema.json.js +0 -77
  391. package/dist/esm/schema/registry/alertmanager.schema.json.js.map +0 -1
  392. package/dist/esm/schema/registry/cloudwatch.schema.json.js +0 -384
  393. package/dist/esm/schema/registry/cloudwatch.schema.json.js.map +0 -1
  394. package/dist/esm/schema/registry/elasticsearch.schema.json.js +0 -287
  395. package/dist/esm/schema/registry/elasticsearch.schema.json.js.map +0 -1
  396. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js +0 -166
  397. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js.map +0 -1
  398. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js +0 -145
  399. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js.map +0 -1
  400. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js +0 -123
  401. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js.map +0 -1
  402. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js +0 -158
  403. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js.map +0 -1
  404. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js +0 -204
  405. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js.map +0 -1
  406. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js +0 -294
  407. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js.map +0 -1
  408. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js +0 -101
  409. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js.map +0 -1
  410. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js +0 -125
  411. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js.map +0 -1
  412. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js +0 -508
  413. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js.map +0 -1
  414. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js +0 -1400
  415. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js.map +0 -1
  416. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js +0 -302
  417. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js.map +0 -1
  418. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js +0 -291
  419. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js.map +0 -1
  420. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js +0 -155
  421. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js.map +0 -1
  422. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js +0 -179
  423. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js.map +0 -1
  424. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js +0 -134
  425. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js.map +0 -1
  426. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js +0 -156
  427. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js.map +0 -1
  428. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js +0 -84
  429. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js.map +0 -1
  430. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js +0 -231
  431. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js.map +0 -1
  432. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js +0 -87
  433. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js.map +0 -1
  434. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js +0 -159
  435. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js.map +0 -1
  436. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js +0 -188
  437. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js.map +0 -1
  438. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js +0 -82
  439. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js.map +0 -1
  440. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js +0 -278
  441. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js.map +0 -1
  442. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js +0 -168
  443. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js.map +0 -1
  444. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js +0 -129
  445. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js.map +0 -1
  446. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js +0 -56
  447. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js.map +0 -1
  448. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js +0 -212
  449. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js.map +0 -1
  450. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js +0 -186
  451. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js.map +0 -1
  452. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js +0 -85
  453. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js.map +0 -1
  454. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js +0 -411
  455. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js.map +0 -1
  456. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js +0 -41
  457. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js.map +0 -1
  458. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js +0 -201
  459. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js.map +0 -1
  460. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js +0 -201
  461. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js.map +0 -1
  462. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js +0 -208
  463. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js.map +0 -1
  464. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js +0 -94
  465. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js.map +0 -1
  466. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js +0 -179
  467. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js.map +0 -1
  468. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js +0 -304
  469. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js.map +0 -1
  470. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js +0 -319
  471. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js.map +0 -1
  472. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js +0 -90
  473. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js.map +0 -1
  474. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js +0 -74
  475. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js.map +0 -1
  476. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js +0 -102
  477. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js.map +0 -1
  478. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js +0 -92
  479. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js.map +0 -1
  480. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js +0 -145
  481. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js.map +0 -1
  482. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js +0 -80
  483. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js.map +0 -1
  484. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js +0 -112
  485. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js.map +0 -1
  486. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js +0 -114
  487. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js.map +0 -1
  488. package/dist/esm/schema/registry/graphite.schema.json.js +0 -104
  489. package/dist/esm/schema/registry/graphite.schema.json.js.map +0 -1
  490. package/dist/esm/schema/registry/index.js +0 -27
  491. package/dist/esm/schema/registry/index.js.map +0 -1
  492. package/dist/esm/schema/registry/influxdb.schema.json.js +0 -717
  493. package/dist/esm/schema/registry/influxdb.schema.json.js.map +0 -1
  494. package/dist/esm/schema/registry/jaeger.schema.json.js +0 -59
  495. package/dist/esm/schema/registry/jaeger.schema.json.js.map +0 -1
  496. package/dist/esm/schema/registry/loki.schema.json.js +0 -545
  497. package/dist/esm/schema/registry/loki.schema.json.js.map +0 -1
  498. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js +0 -45
  499. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js.map +0 -1
  500. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js +0 -36
  501. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js.map +0 -1
  502. package/dist/esm/schema/registry/mssql.schema.json.js +0 -292
  503. package/dist/esm/schema/registry/mssql.schema.json.js.map +0 -1
  504. package/dist/esm/schema/registry/mysql.schema.json.js +0 -304
  505. package/dist/esm/schema/registry/mysql.schema.json.js.map +0 -1
  506. package/dist/esm/schema/registry/opentsdb.schema.json.js +0 -113
  507. package/dist/esm/schema/registry/opentsdb.schema.json.js.map +0 -1
  508. package/dist/esm/schema/registry/prometheus.schema.json.js +0 -783
  509. package/dist/esm/schema/registry/prometheus.schema.json.js.map +0 -1
  510. package/dist/esm/schema/registry/stackdriver.schema.json.js +0 -224
  511. package/dist/esm/schema/registry/stackdriver.schema.json.js.map +0 -1
  512. package/dist/esm/schema/registry/staticRegistry.js +0 -135
  513. package/dist/esm/schema/registry/staticRegistry.js.map +0 -1
  514. package/dist/esm/schema/registry/tempo.schema.json.js +0 -664
  515. package/dist/esm/schema/registry/tempo.schema.json.js.map +0 -1
  516. package/dist/esm/schema/registry/zipkin.schema.json.js +0 -40
  517. package/dist/esm/schema/registry/zipkin.schema.json.js.map +0 -1
  518. /package/dist/esm/components/{QueryEditorRow → QueryEditor}/QueryEditorRow.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { isEmpty } from 'lodash';
2
- import { QueryEditorExpressionType, QueryEditorPropertyType } from '../expressions.js';
2
+ import { QueryEditorPropertyType, QueryEditorExpressionType } from '../expressions.js';
3
3
  import '../types.js';
4
4
 
5
5
  function getRawSqlFn(db) {
@@ -22,17 +22,17 @@ function toRawSql({ sql, dataset, catalog, table }, disableDatasets) {
22
22
  if (sql.whereString) {
23
23
  rawQuery += `WHERE ${sql.whereString} `;
24
24
  }
25
- if ((_b = (_a = sql.groupBy) == null ? undefined : _a[0]) == null ? undefined : _b.property.name) {
25
+ if ((_b = (_a = sql.groupBy) == null ? void 0 : _a[0]) == null ? void 0 : _b.property.name) {
26
26
  const groupBy = sql.groupBy.map((g) => g.property.name).filter((g) => !isEmpty(g));
27
27
  rawQuery += `GROUP BY ${groupBy.join(", ")} `;
28
28
  }
29
- if ((_c = sql.orderBy) == null ? undefined : _c.property.name) {
29
+ if ((_c = sql.orderBy) == null ? void 0 : _c.property.name) {
30
30
  rawQuery += `ORDER BY ${sql.orderBy.property.name} `;
31
31
  }
32
- if (((_d = sql.orderBy) == null ? undefined : _d.property.name) && sql.orderByDirection) {
32
+ if (((_d = sql.orderBy) == null ? void 0 : _d.property.name) && sql.orderByDirection) {
33
33
  rawQuery += `${sql.orderByDirection} `;
34
34
  }
35
- if (sql.limit !== undefined && sql.limit >= 0) {
35
+ if (sql.limit !== void 0 && sql.limit >= 0) {
36
36
  rawQuery += `LIMIT ${sql.limit} `;
37
37
  }
38
38
  return rawQuery;
@@ -42,9 +42,9 @@ function createSelectClause(sqlColumns) {
42
42
  var _a, _b;
43
43
  let rawColumn = "";
44
44
  if (c.name) {
45
- rawColumn += `${c.name}(${(_a = c.parameters) == null ? undefined : _a.map((p) => `${p.name}`)})`;
45
+ rawColumn += `${c.name}(${(_a = c.parameters) == null ? void 0 : _a.map((p) => `${p.name}`)})`;
46
46
  } else {
47
- rawColumn += `${(_b = c.parameters) == null ? undefined : _b.map((p) => `${p.name}`)}`;
47
+ rawColumn += `${(_b = c.parameters) == null ? void 0 : _b.map((p) => `${p.name}`)}`;
48
48
  }
49
49
  return rawColumn;
50
50
  });
@@ -56,7 +56,7 @@ function haveColumns(columns) {
56
56
  }
57
57
  const haveColumn = columns.some((c) => {
58
58
  var _a, _b;
59
- return ((_a = c.parameters) == null ? undefined : _a.length) || ((_b = c.parameters) == null ? undefined : _b.some((p) => p.name));
59
+ return ((_a = c.parameters) == null ? void 0 : _a.length) || ((_b = c.parameters) == null ? void 0 : _b.some((p) => p.name));
60
60
  });
61
61
  const haveFunction = columns.some((c) => c.name);
62
62
  return haveColumn || haveFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"sql.utils.js","sources":["../../../../../src/components/QueryEditor/utils/sql.utils.ts"],"sourcesContent":["import { isEmpty } from 'lodash';\n\nimport {\n QueryEditorExpressionType,\n type QueryEditorFunctionExpression,\n type QueryEditorGroupByExpression,\n type QueryEditorPropertyExpression,\n QueryEditorPropertyType,\n} from '../expressions';\nimport { type SQLQuery, type SQLExpression, type DB } from '../types';\n\nexport function getRawSqlFn(db: DB) {\n return db.toRawSql ? db.toRawSql : (query: SQLQuery) => toRawSql(query, Boolean(db.disableDatasets));\n}\n\n/**\n * Converts a SQLQuery object into a raw SQL string.\n *\n * Table reference naming:\n * - When catalog is present: catalog.dataset.table (dataset acts as schema)\n * - When catalog is absent: dataset.table (dataset acts as dataset/schema)\n * - When both are disabled: just table\n *\n * Note: Semantically, the dataset field has dual meaning:\n * - With catalog: dataset = schema (Unity Catalog: catalog.schema.table)\n * - Without catalog: dataset = dataset (Legacy: dataset.table)\n */\nexport function toRawSql({ sql, dataset, catalog, table }: SQLQuery, disableDatasets: boolean): string {\n let rawQuery = '';\n\n if (!sql || !haveColumns(sql.columns)) {\n return rawQuery;\n }\n\n rawQuery += createSelectClause(sql.columns);\n\n // Three-part naming: catalog.dataset.table (dataset acts as schema when catalog is present)\n if (catalog && dataset && table) {\n rawQuery += `FROM ${catalog}.${dataset}.${table} `;\n }\n // Two-part naming: dataset.table (legacy style, only if catalogs not used)\n else if (!disableDatasets && dataset && table) {\n rawQuery += `FROM ${dataset}.${table} `;\n }\n // Just table name (when datasets are disabled or neither catalog nor dataset is present)\n else if (table) {\n rawQuery += `FROM ${table} `;\n }\n\n if (sql.whereString) {\n rawQuery += `WHERE ${sql.whereString} `;\n }\n\n if (sql.groupBy?.[0]?.property.name) {\n const groupBy = sql.groupBy.map((g) => g.property.name).filter((g) => !isEmpty(g));\n rawQuery += `GROUP BY ${groupBy.join(', ')} `;\n }\n\n if (sql.orderBy?.property.name) {\n rawQuery += `ORDER BY ${sql.orderBy.property.name} `;\n }\n\n if (sql.orderBy?.property.name && sql.orderByDirection) {\n rawQuery += `${sql.orderByDirection} `;\n }\n\n if (sql.limit !== undefined && sql.limit >= 0) {\n rawQuery += `LIMIT ${sql.limit} `;\n }\n\n return rawQuery;\n}\n\nfunction createSelectClause(sqlColumns: NonNullable<SQLExpression['columns']>): string {\n const columns = sqlColumns.map((c) => {\n let rawColumn = '';\n if (c.name) {\n rawColumn += `${c.name}(${c.parameters?.map((p) => `${p.name}`)})`;\n } else {\n rawColumn += `${c.parameters?.map((p) => `${p.name}`)}`;\n }\n return rawColumn;\n });\n return `SELECT ${columns.join(', ')} `;\n}\n\nexport function haveColumns(columns: SQLExpression['columns']): columns is NonNullable<SQLExpression['columns']> {\n if (!columns) {\n return false;\n }\n\n const haveColumn = columns.some((c) => c.parameters?.length || c.parameters?.some((p) => p.name));\n const haveFunction = columns.some((c) => c.name);\n return haveColumn || haveFunction;\n}\n\n/**\n * Creates a GroupByExpression for a specified field\n */\nexport function setGroupByField(field?: string): QueryEditorGroupByExpression {\n return {\n type: QueryEditorExpressionType.GroupBy,\n property: {\n type: QueryEditorPropertyType.String,\n name: field,\n },\n };\n}\n\n/**\n * Creates a PropertyExpression for a specified field\n */\nexport function setPropertyField(field?: string): QueryEditorPropertyExpression {\n return {\n type: QueryEditorExpressionType.Property,\n property: {\n type: QueryEditorPropertyType.String,\n name: field,\n },\n };\n}\n\nexport function createFunctionField(functionName?: string): QueryEditorFunctionExpression {\n return {\n type: QueryEditorExpressionType.Function,\n name: functionName,\n parameters: [],\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.utils.js","sources":["../../../../../src/components/QueryEditor/utils/sql.utils.ts"],"sourcesContent":["import { isEmpty } from 'lodash';\n\nimport {\n QueryEditorExpressionType,\n type QueryEditorFunctionExpression,\n type QueryEditorGroupByExpression,\n type QueryEditorPropertyExpression,\n QueryEditorPropertyType,\n} from '../expressions';\nimport { type SQLQuery, type SQLExpression, type DB } from '../types';\n\nexport function getRawSqlFn(db: DB) {\n return db.toRawSql ? db.toRawSql : (query: SQLQuery) => toRawSql(query, Boolean(db.disableDatasets));\n}\n\n/**\n * Converts a SQLQuery object into a raw SQL string.\n *\n * Table reference naming:\n * - When catalog is present: catalog.dataset.table (dataset acts as schema)\n * - When catalog is absent: dataset.table (dataset acts as dataset/schema)\n * - When both are disabled: just table\n *\n * Note: Semantically, the dataset field has dual meaning:\n * - With catalog: dataset = schema (Unity Catalog: catalog.schema.table)\n * - Without catalog: dataset = dataset (Legacy: dataset.table)\n */\nexport function toRawSql({ sql, dataset, catalog, table }: SQLQuery, disableDatasets: boolean): string {\n let rawQuery = '';\n\n if (!sql || !haveColumns(sql.columns)) {\n return rawQuery;\n }\n\n rawQuery += createSelectClause(sql.columns);\n\n // Three-part naming: catalog.dataset.table (dataset acts as schema when catalog is present)\n if (catalog && dataset && table) {\n rawQuery += `FROM ${catalog}.${dataset}.${table} `;\n }\n // Two-part naming: dataset.table (legacy style, only if catalogs not used)\n else if (!disableDatasets && dataset && table) {\n rawQuery += `FROM ${dataset}.${table} `;\n }\n // Just table name (when datasets are disabled or neither catalog nor dataset is present)\n else if (table) {\n rawQuery += `FROM ${table} `;\n }\n\n if (sql.whereString) {\n rawQuery += `WHERE ${sql.whereString} `;\n }\n\n if (sql.groupBy?.[0]?.property.name) {\n const groupBy = sql.groupBy.map((g) => g.property.name).filter((g) => !isEmpty(g));\n rawQuery += `GROUP BY ${groupBy.join(', ')} `;\n }\n\n if (sql.orderBy?.property.name) {\n rawQuery += `ORDER BY ${sql.orderBy.property.name} `;\n }\n\n if (sql.orderBy?.property.name && sql.orderByDirection) {\n rawQuery += `${sql.orderByDirection} `;\n }\n\n if (sql.limit !== undefined && sql.limit >= 0) {\n rawQuery += `LIMIT ${sql.limit} `;\n }\n\n return rawQuery;\n}\n\nfunction createSelectClause(sqlColumns: NonNullable<SQLExpression['columns']>): string {\n const columns = sqlColumns.map((c) => {\n let rawColumn = '';\n if (c.name) {\n rawColumn += `${c.name}(${c.parameters?.map((p) => `${p.name}`)})`;\n } else {\n rawColumn += `${c.parameters?.map((p) => `${p.name}`)}`;\n }\n return rawColumn;\n });\n return `SELECT ${columns.join(', ')} `;\n}\n\nexport function haveColumns(columns: SQLExpression['columns']): columns is NonNullable<SQLExpression['columns']> {\n if (!columns) {\n return false;\n }\n\n const haveColumn = columns.some((c) => c.parameters?.length || c.parameters?.some((p) => p.name));\n const haveFunction = columns.some((c) => c.name);\n return haveColumn || haveFunction;\n}\n\n/**\n * Creates a GroupByExpression for a specified field\n */\nexport function setGroupByField(field?: string): QueryEditorGroupByExpression {\n return {\n type: QueryEditorExpressionType.GroupBy,\n property: {\n type: QueryEditorPropertyType.String,\n name: field,\n },\n };\n}\n\n/**\n * Creates a PropertyExpression for a specified field\n */\nexport function setPropertyField(field?: string): QueryEditorPropertyExpression {\n return {\n type: QueryEditorExpressionType.Property,\n property: {\n type: QueryEditorPropertyType.String,\n name: field,\n },\n };\n}\n\nexport function createFunctionField(functionName?: string): QueryEditorFunctionExpression {\n return {\n type: QueryEditorExpressionType.Function,\n name: functionName,\n parameters: [],\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSqlChange.js","sources":["../../../../../src/components/QueryEditor/utils/useSqlChange.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { type DB, type SQLExpression, type SQLQuery } from '../types';\n\nimport { getRawSqlFn } from './sql.utils';\n\ninterface UseSqlChange {\n db: DB;\n query: SQLQuery;\n onQueryChange: (query: SQLQuery) => void;\n}\n\nexport function useSqlChange({ query, onQueryChange, db }: UseSqlChange) {\n const onSqlChange = useCallback(\n (sql: SQLExpression) => {\n const toRawSql = getRawSqlFn(db);\n const rawSql = toRawSql({\n sql,\n catalog: query.catalog,\n dataset: query.dataset,\n table: query.table,\n refId: query.refId,\n });\n const newQuery: SQLQuery = { ...query, sql, rawSql };\n onQueryChange(newQuery);\n },\n [db, onQueryChange, query]\n );\n\n return { onSqlChange };\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,YAAa,CAAA,EAAE,KAAO,EAAA,aAAA,EAAe,IAAoB,EAAA;AACvE,EAAA,MAAM,WAAc,GAAA,WAAA;AAAA,IAClB,CAAC,GAAuB,KAAA;AACtB,MAAM,MAAA,QAAA,GAAW,YAAY,EAAE,CAAA;AAC/B,MAAA,MAAM,SAAS,QAAS,CAAA;AAAA,QACtB,GAAA;AAAA,QACA,SAAS,KAAM,CAAA,OAAA;AAAA,QACf,SAAS,KAAM,CAAA,OAAA;AAAA,QACf,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,OAAO,KAAM,CAAA;AAAA,OACd,CAAA;AACD,MAAA,MAAM,QAAqB,GAAA,EAAE,GAAG,KAAA,EAAO,KAAK,MAAO,EAAA;AACnD,MAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,KACxB;AAAA,IACA,CAAC,EAAI,EAAA,aAAA,EAAe,KAAK;AAAA,GAC3B;AAEA,EAAA,OAAO,EAAE,WAAY,EAAA;AACvB;;;;"}
1
+ {"version":3,"file":"useSqlChange.js","sources":["../../../../../src/components/QueryEditor/utils/useSqlChange.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { type DB, type SQLExpression, type SQLQuery } from '../types';\n\nimport { getRawSqlFn } from './sql.utils';\n\ninterface UseSqlChange {\n db: DB;\n query: SQLQuery;\n onQueryChange: (query: SQLQuery) => void;\n}\n\nexport function useSqlChange({ query, onQueryChange, db }: UseSqlChange) {\n const onSqlChange = useCallback(\n (sql: SQLExpression) => {\n const toRawSql = getRawSqlFn(db);\n const rawSql = toRawSql({\n sql,\n catalog: query.catalog,\n dataset: query.dataset,\n table: query.table,\n refId: query.refId,\n });\n const newQuery: SQLQuery = { ...query, sql, rawSql };\n onQueryChange(newQuery);\n },\n [db, onQueryChange, query]\n );\n\n return { onSqlChange };\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,YAAA,CAAa,EAAE,KAAA,EAAO,aAAA,EAAe,IAAG,EAAiB;AACvE,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,GAAA,KAAuB;AACtB,MAAA,MAAM,QAAA,GAAW,YAAY,EAAE,CAAA;AAC/B,MAAA,MAAM,SAAS,QAAA,CAAS;AAAA,QACtB,GAAA;AAAA,QACA,SAAS,KAAA,CAAM,OAAA;AAAA,QACf,SAAS,KAAA,CAAM,OAAA;AAAA,QACf,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,OAAO,KAAA,CAAM;AAAA,OACd,CAAA;AACD,MAAA,MAAM,QAAA,GAAqB,EAAE,GAAG,KAAA,EAAO,KAAK,MAAA,EAAO;AACnD,MAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,IACxB,CAAA;AAAA,IACA,CAAC,EAAA,EAAI,aAAA,EAAe,KAAK;AAAA,GAC3B;AAEA,EAAA,OAAO,EAAE,WAAA,EAAY;AACvB;;;;"}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
+ import '../../../node_modules/immutable/dist/immutable.es.js';
2
3
  import { isString } from 'lodash';
3
4
  import { Utils, BasicConfig } from '@react-awesome-query-builder/ui';
4
- import { dateTime, toOption } from '@grafana/data';
5
- import { Input, DateTimePicker, Select, Button } from '@grafana/ui';
5
+ import { toOption, dateTime } from '@grafana/data';
6
+ import { Select, Button, DateTimePicker, Input } from '@grafana/ui';
6
7
 
7
8
  const buttonLabels = {
8
9
  add: "Add",
@@ -10,7 +11,6 @@ const buttonLabels = {
10
11
  };
11
12
  ({
12
13
  id: Utils.uuid(),
13
- type: "group",
14
14
  children1: [
15
15
  {
16
16
  id: Utils.uuid(),
@@ -48,9 +48,9 @@ const widgets = {
48
48
  return /* @__PURE__ */ React.createElement(
49
49
  Input,
50
50
  {
51
- value: (props == null ? undefined : props.value) || "",
52
- placeholder: props == null ? undefined : props.placeholder,
53
- onChange: (e) => props == null ? undefined : props.setValue(e.currentTarget.value)
51
+ value: (props == null ? void 0 : props.value) || "",
52
+ placeholder: props == null ? void 0 : props.placeholder,
53
+ onChange: (e) => props == null ? void 0 : props.setValue(e.currentTarget.value)
54
54
  }
55
55
  );
56
56
  }
@@ -61,10 +61,10 @@ const widgets = {
61
61
  return /* @__PURE__ */ React.createElement(
62
62
  Input,
63
63
  {
64
- value: props == null ? undefined : props.value,
65
- placeholder: props == null ? undefined : props.placeholder,
64
+ value: props == null ? void 0 : props.value,
65
+ placeholder: props == null ? void 0 : props.placeholder,
66
66
  type: "number",
67
- onChange: (e) => props == null ? undefined : props.setValue(Number.parseInt(e.currentTarget.value, 10))
67
+ onChange: (e) => props == null ? void 0 : props.setValue(Number.parseInt(e.currentTarget.value, 10))
68
68
  }
69
69
  );
70
70
  }
@@ -76,9 +76,9 @@ const widgets = {
76
76
  DateTimePicker,
77
77
  {
78
78
  onChange: (e) => {
79
- props == null ? undefined : props.setValue(e == null ? undefined : e.format(BasicConfig.widgets.datetime.valueFormat));
79
+ props == null ? void 0 : props.setValue(e == null ? void 0 : e.format(BasicConfig.widgets.datetime.valueFormat));
80
80
  },
81
- date: dateTime(props == null ? undefined : props.value).utc()
81
+ date: dateTime(props == null ? void 0 : props.value).utc()
82
82
  }
83
83
  );
84
84
  }
@@ -96,37 +96,37 @@ const settings = {
96
96
  return /* @__PURE__ */ React.createElement(
97
97
  Select,
98
98
  {
99
- id: conjProps == null ? undefined : conjProps.id,
99
+ id: conjProps == null ? void 0 : conjProps.id,
100
100
  "aria-label": "Conjunction",
101
101
  menuShouldPortal: true,
102
- options: (conjProps == null ? undefined : conjProps.conjunctionOptions) ? Object.keys(conjProps == null ? undefined : conjProps.conjunctionOptions).map(toOption) : undefined,
103
- value: conjProps == null ? undefined : conjProps.selectedConjunction,
104
- onChange: (val) => conjProps == null ? undefined : conjProps.setConjunction(val.value)
102
+ options: (conjProps == null ? void 0 : conjProps.conjunctionOptions) ? Object.keys(conjProps == null ? void 0 : conjProps.conjunctionOptions).map(toOption) : void 0,
103
+ value: conjProps == null ? void 0 : conjProps.selectedConjunction,
104
+ onChange: (val) => conjProps == null ? void 0 : conjProps.setConjunction(val.value)
105
105
  }
106
106
  );
107
107
  },
108
108
  renderField: function Field(fieldProps) {
109
109
  var _a;
110
- const fields = ((_a = fieldProps == null ? undefined : fieldProps.config) == null ? undefined : _a.fields) || {};
110
+ const fields = ((_a = fieldProps == null ? void 0 : fieldProps.config) == null ? void 0 : _a.fields) || {};
111
111
  return /* @__PURE__ */ React.createElement(
112
112
  Select,
113
113
  {
114
- id: fieldProps == null ? undefined : fieldProps.id,
114
+ id: fieldProps == null ? void 0 : fieldProps.id,
115
115
  width: 25,
116
116
  "aria-label": "Field",
117
117
  menuShouldPortal: true,
118
- options: fieldProps == null ? undefined : fieldProps.items.map((f) => {
118
+ options: fieldProps == null ? void 0 : fieldProps.items.map((f) => {
119
119
  var _a2, _b;
120
- const icon = (_b = (_a2 = fields[f.key].mainWidgetProps) == null ? undefined : _a2.customProps) == null ? undefined : _b.icon;
120
+ const icon = (_b = (_a2 = fields[f.key].mainWidgetProps) == null ? void 0 : _a2.customProps) == null ? void 0 : _b.icon;
121
121
  return {
122
122
  label: f.label,
123
123
  value: f.key,
124
124
  icon
125
125
  };
126
126
  }),
127
- value: fieldProps == null ? undefined : fieldProps.selectedKey,
127
+ value: fieldProps == null ? void 0 : fieldProps.selectedKey,
128
128
  onChange: (val) => {
129
- fieldProps == null ? undefined : fieldProps.setField(val.label);
129
+ fieldProps == null ? void 0 : fieldProps.setField(val.label);
130
130
  }
131
131
  }
132
132
  );
@@ -136,11 +136,12 @@ const settings = {
136
136
  Button,
137
137
  {
138
138
  type: "button",
139
- title: `${buttonProps == null ? undefined : buttonProps.label} filter`,
140
- onClick: buttonProps == null ? undefined : buttonProps.onClick,
139
+ title: `${buttonProps == null ? void 0 : buttonProps.label} filter`,
140
+ "aria-label": `${buttonProps == null ? void 0 : buttonProps.label} filter`,
141
+ onClick: buttonProps == null ? void 0 : buttonProps.onClick,
141
142
  variant: "secondary",
142
143
  size: "md",
143
- icon: (buttonProps == null ? undefined : buttonProps.label) === buttonLabels.add ? "plus" : "times"
144
+ icon: (buttonProps == null ? void 0 : buttonProps.label) === buttonLabels.add ? "plus" : "times"
144
145
  }
145
146
  );
146
147
  },
@@ -148,12 +149,12 @@ const settings = {
148
149
  return /* @__PURE__ */ React.createElement(
149
150
  Select,
150
151
  {
151
- options: operatorProps == null ? undefined : operatorProps.items.map((op) => ({ label: op.label, value: op.key })),
152
+ options: operatorProps == null ? void 0 : operatorProps.items.map((op) => ({ label: op.label, value: op.key })),
152
153
  "aria-label": "Operator",
153
154
  menuShouldPortal: true,
154
- value: operatorProps == null ? undefined : operatorProps.selectedKey,
155
+ value: operatorProps == null ? void 0 : operatorProps.selectedKey,
155
156
  onChange: (val) => {
156
- operatorProps == null ? undefined : operatorProps.setField(val.value || "");
157
+ operatorProps == null ? void 0 : operatorProps.setField(val.value || "");
157
158
  }
158
159
  }
159
160
  );
@@ -1 +1 @@
1
- {"version":3,"file":"AwesomeQueryBuilder.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.tsx"],"sourcesContent":["import React from 'react';\nimport { type List } from 'immutable';\nimport { isString } from 'lodash';\nimport {\n BasicConfig,\n Utils,\n type Config,\n type JsonItem,\n type JsonTree,\n type Operator,\n type Settings,\n type Field,\n type ValueSource,\n type WidgetProps,\n type Widgets,\n type OperatorOptionsI,\n} from '@react-awesome-query-builder/ui';\nimport { dateTime, toOption } from '@grafana/data';\nimport { Button, DateTimePicker, Input, Select } from '@grafana/ui';\n\nconst buttonLabels = {\n add: 'Add',\n remove: 'Remove',\n};\n\nexport const emptyInitValue: JsonItem = {\n id: Utils.uuid(),\n type: 'group' as const,\n children1: [\n {\n id: Utils.uuid(),\n type: 'rule',\n properties: {\n field: null,\n operator: null,\n value: [],\n valueSrc: [],\n },\n },\n ],\n};\n\nexport const emptyInitTree: JsonTree = {\n id: Utils.uuid(),\n type: 'group' as const,\n children1: [\n {\n id: Utils.uuid(),\n type: 'rule',\n properties: {\n field: null,\n operator: null,\n value: [],\n valueSrc: [],\n },\n },\n ],\n};\n\nexport const widgets: Widgets = {\n ...BasicConfig.widgets,\n text: {\n ...BasicConfig.widgets.text,\n factory: function TextInput(props: WidgetProps) {\n return (\n <Input\n value={props?.value || ''}\n placeholder={props?.placeholder}\n onChange={(e) => props?.setValue(e.currentTarget.value)}\n />\n );\n },\n },\n number: {\n ...BasicConfig.widgets.number,\n factory: function NumberInput(props: WidgetProps) {\n return (\n <Input\n value={props?.value}\n placeholder={props?.placeholder}\n type=\"number\"\n onChange={(e) => props?.setValue(Number.parseInt(e.currentTarget.value, 10))}\n />\n );\n },\n },\n datetime: {\n ...BasicConfig.widgets.datetime,\n factory: function DateTimeInput(props: WidgetProps) {\n return (\n <DateTimePicker\n onChange={(e) => {\n props?.setValue(e?.format(BasicConfig.widgets.datetime.valueFormat));\n }}\n date={dateTime(props?.value).utc()}\n />\n );\n },\n },\n};\n\nexport const settings: Settings = {\n ...BasicConfig.settings,\n canRegroup: false,\n maxNesting: 1,\n canReorder: false,\n showNot: false,\n addRuleLabel: buttonLabels.add,\n deleteLabel: buttonLabels.remove,\n renderConjs: function Conjunctions(conjProps) {\n return (\n <Select\n id={conjProps?.id}\n aria-label=\"Conjunction\"\n menuShouldPortal\n options={conjProps?.conjunctionOptions ? Object.keys(conjProps?.conjunctionOptions).map(toOption) : undefined}\n value={conjProps?.selectedConjunction}\n onChange={(val) => conjProps?.setConjunction(val.value!)}\n />\n );\n },\n renderField: function Field(fieldProps) {\n const fields = fieldProps?.config?.fields || {};\n return (\n <Select\n id={fieldProps?.id}\n width={25}\n aria-label=\"Field\"\n menuShouldPortal\n options={fieldProps?.items.map((f) => {\n // @ts-ignore\n const icon = fields[f.key].mainWidgetProps?.customProps?.icon;\n return {\n label: f.label,\n value: f.key,\n icon,\n };\n })}\n value={fieldProps?.selectedKey}\n onChange={(val) => {\n fieldProps?.setField(val.label!);\n }}\n />\n );\n },\n renderButton: function RAQBButton(buttonProps) {\n return (\n <Button\n type=\"button\"\n title={`${buttonProps?.label} filter`}\n onClick={buttonProps?.onClick}\n variant=\"secondary\"\n size=\"md\"\n icon={buttonProps?.label === buttonLabels.add ? 'plus' : 'times'}\n />\n );\n },\n renderOperator: function Operator(operatorProps) {\n return (\n <Select\n options={operatorProps?.items.map((op) => ({ label: op.label, value: op.key }))}\n aria-label=\"Operator\"\n menuShouldPortal\n value={operatorProps?.selectedKey}\n onChange={(val) => {\n operatorProps?.setField(val.value || '');\n }}\n />\n );\n },\n};\n\n// add IN / NOT IN operators to text to support multi-value variables\nconst enum Op {\n IN = 'select_any_in',\n NOT_IN = 'select_not_any_in',\n}\n\nconst customOperators = getCustomOperators(BasicConfig);\nconst textWidget = BasicConfig.types.text.widgets.text;\nconst opers = [...(textWidget.operators || []), Op.IN, Op.NOT_IN];\nconst customTextWidget = {\n ...textWidget,\n operators: opers,\n};\n\nconst customTypes = {\n ...BasicConfig.types,\n text: {\n ...BasicConfig.types.text,\n widgets: {\n ...BasicConfig.types.text.widgets,\n text: customTextWidget,\n },\n },\n};\n\nexport const raqbConfig: Config = {\n ...BasicConfig,\n widgets,\n settings,\n operators: customOperators as typeof BasicConfig.operators,\n types: customTypes,\n};\n\nexport type { Config };\n\nfunction getCustomOperators(config: BasicConfig) {\n const { ...supportedOperators } = config.operators;\n const noop = () => '';\n // IN operator expects array, override IN formatter for multi-value variables\n\n const sqlFormatInOp = supportedOperators[Op.IN].sqlFormatOp || noop;\n const customSqlInFormatter = (\n field: string,\n op: string,\n value: string | List<string>,\n valueSrc: ValueSource,\n valueType: string,\n opDef: Operator,\n operatorOptions: OperatorOptionsI,\n fieldDef: Field\n ) =>\n sqlFormatInOp.call(\n config.ctx,\n field,\n op,\n splitIfString(value),\n valueSrc,\n valueType,\n opDef,\n operatorOptions,\n fieldDef\n );\n // NOT IN operator expects array, override NOT IN formatter for multi-value variables\n const sqlFormatNotInOp = supportedOperators[Op.NOT_IN].sqlFormatOp || noop;\n const customSqlNotInFormatter = (\n field: string,\n op: string,\n value: string | List<string>,\n valueSrc: ValueSource,\n valueType: string,\n opDef: Operator,\n operatorOptions: OperatorOptionsI,\n fieldDef: Field\n ) =>\n sqlFormatNotInOp.call(\n config.ctx,\n field,\n op,\n splitIfString(value),\n valueSrc,\n valueType,\n opDef,\n operatorOptions,\n fieldDef\n );\n\n const customOperators = {\n ...supportedOperators,\n [Op.IN]: {\n ...supportedOperators[Op.IN],\n sqlFormatOp: customSqlInFormatter,\n },\n [Op.NOT_IN]: {\n ...supportedOperators[Op.NOT_IN],\n sqlFormatOp: customSqlNotInFormatter,\n },\n };\n\n return customOperators;\n}\n\n// value: string | List<string> but AQB uses a different version of Immutable\n// eslint-ignore\nfunction splitIfString(value: any) {\n if (isString(value)) {\n return value.split(',');\n }\n return value;\n}\n"],"names":["_a","customOperators"],"mappings":"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"}
1
+ {"version":3,"file":"AwesomeQueryBuilder.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.tsx"],"sourcesContent":["import React from 'react';\nimport { type List } from 'immutable';\nimport { isString } from 'lodash';\nimport {\n BasicConfig,\n Utils,\n type Config,\n type JsonItem,\n type JsonTree,\n type Operator,\n type Settings,\n type Field,\n type ValueSource,\n type WidgetProps,\n type Widgets,\n type OperatorOptionsI,\n} from '@react-awesome-query-builder/ui';\nimport { dateTime, toOption } from '@grafana/data';\nimport { Button, DateTimePicker, Input, Select } from '@grafana/ui';\n\nconst buttonLabels = {\n add: 'Add',\n remove: 'Remove',\n};\n\nexport const emptyInitValue: JsonItem = {\n id: Utils.uuid(),\n type: 'group' as const,\n children1: [\n {\n id: Utils.uuid(),\n type: 'rule',\n properties: {\n field: null,\n operator: null,\n value: [],\n valueSrc: [],\n },\n },\n ],\n};\n\nexport const emptyInitTree: JsonTree = {\n id: Utils.uuid(),\n type: 'group' as const,\n children1: [\n {\n id: Utils.uuid(),\n type: 'rule',\n properties: {\n field: null,\n operator: null,\n value: [],\n valueSrc: [],\n },\n },\n ],\n};\n\nexport const widgets: Widgets = {\n ...BasicConfig.widgets,\n text: {\n ...BasicConfig.widgets.text,\n factory: function TextInput(props: WidgetProps) {\n return (\n <Input\n value={props?.value || ''}\n placeholder={props?.placeholder}\n onChange={(e) => props?.setValue(e.currentTarget.value)}\n />\n );\n },\n },\n number: {\n ...BasicConfig.widgets.number,\n factory: function NumberInput(props: WidgetProps) {\n return (\n <Input\n value={props?.value}\n placeholder={props?.placeholder}\n type=\"number\"\n onChange={(e) => props?.setValue(Number.parseInt(e.currentTarget.value, 10))}\n />\n );\n },\n },\n datetime: {\n ...BasicConfig.widgets.datetime,\n factory: function DateTimeInput(props: WidgetProps) {\n return (\n <DateTimePicker\n onChange={(e) => {\n props?.setValue(e?.format(BasicConfig.widgets.datetime.valueFormat));\n }}\n date={dateTime(props?.value).utc()}\n />\n );\n },\n },\n};\n\nexport const settings: Settings = {\n ...BasicConfig.settings,\n canRegroup: false,\n maxNesting: 1,\n canReorder: false,\n showNot: false,\n addRuleLabel: buttonLabels.add,\n deleteLabel: buttonLabels.remove,\n renderConjs: function Conjunctions(conjProps) {\n return (\n <Select\n id={conjProps?.id}\n aria-label=\"Conjunction\"\n menuShouldPortal\n options={conjProps?.conjunctionOptions ? Object.keys(conjProps?.conjunctionOptions).map(toOption) : undefined}\n value={conjProps?.selectedConjunction}\n onChange={(val) => conjProps?.setConjunction(val.value!)}\n />\n );\n },\n renderField: function Field(fieldProps) {\n const fields = fieldProps?.config?.fields || {};\n return (\n <Select\n id={fieldProps?.id}\n width={25}\n aria-label=\"Field\"\n menuShouldPortal\n options={fieldProps?.items.map((f) => {\n // @ts-ignore\n const icon = fields[f.key].mainWidgetProps?.customProps?.icon;\n return {\n label: f.label,\n value: f.key,\n icon,\n };\n })}\n value={fieldProps?.selectedKey}\n onChange={(val) => {\n fieldProps?.setField(val.label!);\n }}\n />\n );\n },\n renderButton: function RAQBButton(buttonProps) {\n return (\n <Button\n type=\"button\"\n title={`${buttonProps?.label} filter`}\n aria-label={`${buttonProps?.label} filter`}\n onClick={buttonProps?.onClick}\n variant=\"secondary\"\n size=\"md\"\n icon={buttonProps?.label === buttonLabels.add ? 'plus' : 'times'}\n />\n );\n },\n renderOperator: function Operator(operatorProps) {\n return (\n <Select\n options={operatorProps?.items.map((op) => ({ label: op.label, value: op.key }))}\n aria-label=\"Operator\"\n menuShouldPortal\n value={operatorProps?.selectedKey}\n onChange={(val) => {\n operatorProps?.setField(val.value || '');\n }}\n />\n );\n },\n};\n\n// add IN / NOT IN operators to text to support multi-value variables\nconst enum Op {\n IN = 'select_any_in',\n NOT_IN = 'select_not_any_in',\n}\n\nconst customOperators = getCustomOperators(BasicConfig);\nconst textWidget = BasicConfig.types.text.widgets.text;\nconst opers = [...(textWidget.operators || []), Op.IN, Op.NOT_IN];\nconst customTextWidget = {\n ...textWidget,\n operators: opers,\n};\n\nconst customTypes = {\n ...BasicConfig.types,\n text: {\n ...BasicConfig.types.text,\n widgets: {\n ...BasicConfig.types.text.widgets,\n text: customTextWidget,\n },\n },\n};\n\nexport const raqbConfig: Config = {\n ...BasicConfig,\n widgets,\n settings,\n operators: customOperators as typeof BasicConfig.operators,\n types: customTypes,\n};\n\nexport type { Config };\n\nfunction getCustomOperators(config: BasicConfig) {\n const { ...supportedOperators } = config.operators;\n const noop = () => '';\n // IN operator expects array, override IN formatter for multi-value variables\n\n const sqlFormatInOp = supportedOperators[Op.IN].sqlFormatOp || noop;\n const customSqlInFormatter = (\n field: string,\n op: string,\n value: string | List<string>,\n valueSrc: ValueSource,\n valueType: string,\n opDef: Operator,\n operatorOptions: OperatorOptionsI,\n fieldDef: Field\n ) =>\n sqlFormatInOp.call(\n config.ctx,\n field,\n op,\n splitIfString(value),\n valueSrc,\n valueType,\n opDef,\n operatorOptions,\n fieldDef\n );\n // NOT IN operator expects array, override NOT IN formatter for multi-value variables\n const sqlFormatNotInOp = supportedOperators[Op.NOT_IN].sqlFormatOp || noop;\n const customSqlNotInFormatter = (\n field: string,\n op: string,\n value: string | List<string>,\n valueSrc: ValueSource,\n valueType: string,\n opDef: Operator,\n operatorOptions: OperatorOptionsI,\n fieldDef: Field\n ) =>\n sqlFormatNotInOp.call(\n config.ctx,\n field,\n op,\n splitIfString(value),\n valueSrc,\n valueType,\n opDef,\n operatorOptions,\n fieldDef\n );\n\n const customOperators = {\n ...supportedOperators,\n [Op.IN]: {\n ...supportedOperators[Op.IN],\n sqlFormatOp: customSqlInFormatter,\n },\n [Op.NOT_IN]: {\n ...supportedOperators[Op.NOT_IN],\n sqlFormatOp: customSqlNotInFormatter,\n },\n };\n\n return customOperators;\n}\n\n// value: string | List<string> but AQB uses a different version of Immutable\n// eslint-ignore\nfunction splitIfString(value: any) {\n if (isString(value)) {\n return value.split(',');\n }\n return value;\n}\n"],"names":["_a","customOperators"],"mappings":"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"}
@@ -8,12 +8,12 @@ const EditorField = (props) => {
8
8
  var _a;
9
9
  const { label, optional, tooltip, children, width, ...fieldProps } = props;
10
10
  const theme = useTheme2();
11
- const styles = getStyles(theme, width);
12
- const childInputId = (fieldProps == null ? undefined : fieldProps.htmlFor) || ((_a = ReactUtils) == null ? undefined : _a.getChildId(children));
11
+ const styles = getStyles$i(theme, width);
12
+ const childInputId = (fieldProps == null ? void 0 : fieldProps.htmlFor) || ((_a = ReactUtils) == null ? void 0 : _a.getChildId(children));
13
13
  const labelEl = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("label", { className: styles.label, htmlFor: childInputId }, label, optional && /* @__PURE__ */ React.createElement("span", { className: styles.optional }, " - optional"), tooltip && /* @__PURE__ */ React.createElement(Tooltip, { placement: "top", content: tooltip, theme: "info" }, /* @__PURE__ */ React.createElement(Icon, { name: "info-circle", size: "sm", className: styles.icon }))), /* @__PURE__ */ React.createElement(Space, { v: 0.5 }));
14
14
  return /* @__PURE__ */ React.createElement("div", { className: styles.root }, /* @__PURE__ */ React.createElement(Field, { className: styles.field, label: labelEl, ...fieldProps }, children));
15
15
  };
16
- const getStyles = stylesFactory((theme, width) => {
16
+ const getStyles$i = stylesFactory((theme, width) => {
17
17
  return {
18
18
  root: css({
19
19
  minWidth: theme.spacing(width != null ? width : 0)
@@ -1 +1 @@
1
- {"version":3,"file":"EditorField.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorField.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { type ComponentProps } from 'react';\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { Field, type PopoverContent, useTheme2, ReactUtils, Tooltip, Icon, stylesFactory } from '@grafana/ui';\nimport { Space } from '../Space';\n\ninterface EditorFieldProps extends ComponentProps<typeof Field> {\n label: string;\n children: React.ReactElement;\n width?: number | string;\n optional?: boolean;\n tooltip?: PopoverContent;\n}\n\nexport const EditorField = (props: EditorFieldProps) => {\n const { label, optional, tooltip, children, width, ...fieldProps } = props;\n\n const theme = useTheme2();\n const styles = getStyles(theme, width);\n\n // Null check for backward compatibility\n const childInputId = fieldProps?.htmlFor || ReactUtils?.getChildId(children);\n\n const labelEl = (\n <>\n <label className={styles.label} htmlFor={childInputId}>\n {label}\n {optional && <span className={styles.optional}> - optional</span>}\n {tooltip && (\n <Tooltip placement=\"top\" content={tooltip} theme=\"info\">\n <Icon name=\"info-circle\" size=\"sm\" className={styles.icon} />\n </Tooltip>\n )}\n </label>\n <Space v={0.5} />\n </>\n );\n\n return (\n <div className={styles.root}>\n <Field className={styles.field} label={labelEl} {...fieldProps}>\n {children}\n </Field>\n </div>\n );\n};\n\nconst getStyles = stylesFactory((theme: GrafanaTheme2, width?: number | string) => {\n return {\n root: css({\n minWidth: theme.spacing(width ?? 0),\n }),\n label: css({\n fontSize: 12,\n fontWeight: theme.typography.fontWeightMedium,\n }),\n optional: css({\n fontStyle: 'italic',\n color: theme.colors.text.secondary,\n }),\n field: css({\n marginBottom: 0, // GrafanaUI/Field has a bottom margin which we must remove\n }),\n icon: css({\n color: theme.colors.text.secondary,\n marginLeft: theme.spacing(1),\n ':hover': {\n color: theme.colors.text.primary,\n },\n }),\n };\n});\n"],"names":[],"mappings":";;;;;;AAca,MAAA,WAAA,GAAc,CAAC,KAA4B,KAAA;AAdxD,EAAA,IAAA,EAAA;AAeE,EAAM,MAAA,EAAE,OAAO,QAAU,EAAA,OAAA,EAAS,UAAU,KAAO,EAAA,GAAG,YAAe,GAAA,KAAA;AAErE,EAAA,MAAM,QAAQ,SAAU,EAAA;AACxB,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,EAAO,KAAK,CAAA;AAGrC,EAAA,MAAM,YAAe,GAAA,CAAA,UAAA,IAAA,IAAA,GAAA,SAAA,GAAA,UAAA,CAAY,OAAW,MAAA,CAAA,EAAA,GAAA,UAAA,KAAA,IAAA,GAAA,SAAA,GAAA,EAAA,CAAY,UAAW,CAAA,QAAA,CAAA,CAAA;AAEnE,EAAA,MAAM,0BAEF,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,WAAM,SAAW,EAAA,MAAA,CAAO,OAAO,OAAS,EAAA,YAAA,EAAA,EACtC,OACA,QAAY,oBAAA,KAAA,CAAA,aAAA,CAAC,UAAK,SAAW,EAAA,MAAA,CAAO,YAAU,aAAW,CAAA,EACzD,2BACE,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,WAAU,KAAM,EAAA,OAAA,EAAS,SAAS,KAAM,EAAA,MAAA,EAAA,sCAC9C,IAAK,EAAA,EAAA,IAAA,EAAK,eAAc,IAAK,EAAA,IAAA,EAAK,WAAW,MAAO,CAAA,IAAA,EAAM,CAC7D,CAEJ,CAAA,sCACC,KAAM,EAAA,EAAA,CAAA,EAAG,KAAK,CACjB,CAAA;AAGF,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,MAAA,CAAO,wBACpB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,SAAW,EAAA,MAAA,CAAO,OAAO,KAAO,EAAA,OAAA,EAAU,GAAG,UAAA,EAAA,EACjD,QACH,CACF,CAAA;AAEJ;AAEA,MAAM,SAAY,GAAA,aAAA,CAAc,CAAC,KAAA,EAAsB,KAA4B,KAAA;AACjF,EAAO,OAAA;AAAA,IACL,MAAM,GAAI,CAAA;AAAA,MACR,QAAU,EAAA,KAAA,CAAM,OAAQ,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,CAAC;AAAA,KACnC,CAAA;AAAA,IACD,OAAO,GAAI,CAAA;AAAA,MACT,QAAU,EAAA,EAAA;AAAA,MACV,UAAA,EAAY,MAAM,UAAW,CAAA;AAAA,KAC9B,CAAA;AAAA,IACD,UAAU,GAAI,CAAA;AAAA,MACZ,SAAW,EAAA,QAAA;AAAA,MACX,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA;AAAA,KAC1B,CAAA;AAAA,IACD,OAAO,GAAI,CAAA;AAAA,MACT,YAAc,EAAA;AAAA;AAAA,KACf,CAAA;AAAA,IACD,MAAM,GAAI,CAAA;AAAA,MACR,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA,SAAA;AAAA,MACzB,UAAA,EAAY,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,QAAU,EAAA;AAAA,QACR,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA;AAAA;AAC3B,KACD;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"EditorField.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorField.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { type ComponentProps } from 'react';\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { Field, type PopoverContent, useTheme2, ReactUtils, Tooltip, Icon, stylesFactory } from '@grafana/ui';\nimport { Space } from '../Space';\n\ninterface EditorFieldProps extends ComponentProps<typeof Field> {\n label: string;\n children: React.ReactElement;\n width?: number | string;\n optional?: boolean;\n tooltip?: PopoverContent;\n}\n\nexport const EditorField = (props: EditorFieldProps) => {\n const { label, optional, tooltip, children, width, ...fieldProps } = props;\n\n const theme = useTheme2();\n const styles = getStyles(theme, width);\n\n // Null check for backward compatibility\n const childInputId = fieldProps?.htmlFor || ReactUtils?.getChildId(children);\n\n const labelEl = (\n <>\n <label className={styles.label} htmlFor={childInputId}>\n {label}\n {optional && <span className={styles.optional}> - optional</span>}\n {tooltip && (\n <Tooltip placement=\"top\" content={tooltip} theme=\"info\">\n <Icon name=\"info-circle\" size=\"sm\" className={styles.icon} />\n </Tooltip>\n )}\n </label>\n <Space v={0.5} />\n </>\n );\n\n return (\n <div className={styles.root}>\n <Field className={styles.field} label={labelEl} {...fieldProps}>\n {children}\n </Field>\n </div>\n );\n};\n\nconst getStyles = stylesFactory((theme: GrafanaTheme2, width?: number | string) => {\n return {\n root: css({\n minWidth: theme.spacing(width ?? 0),\n }),\n label: css({\n fontSize: 12,\n fontWeight: theme.typography.fontWeightMedium,\n }),\n optional: css({\n fontStyle: 'italic',\n color: theme.colors.text.secondary,\n }),\n field: css({\n marginBottom: 0, // GrafanaUI/Field has a bottom margin which we must remove\n }),\n icon: css({\n color: theme.colors.text.secondary,\n marginLeft: theme.spacing(1),\n ':hover': {\n color: theme.colors.text.primary,\n },\n }),\n };\n});\n"],"names":["getStyles"],"mappings":";;;;;;AAcO,MAAM,WAAA,GAAc,CAAC,KAAA,KAA4B;AAdxD,EAAA,IAAA,EAAA;AAeE,EAAA,MAAM,EAAE,OAAO,QAAA,EAAU,OAAA,EAAS,UAAU,KAAA,EAAO,GAAG,YAAW,GAAI,KAAA;AAErE,EAAA,MAAM,QAAQ,SAAA,EAAU;AACxB,EAAA,MAAM,MAAA,GAASA,WAAA,CAAU,KAAA,EAAO,KAAK,CAAA;AAGrC,EAAA,MAAM,YAAA,GAAA,CAAe,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,OAAA,MAAA,CAAW,EAAA,GAAA,UAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,UAAA,CAAW,QAAA,CAAA,CAAA;AAEnE,EAAA,MAAM,0BACJ,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAAC,WAAM,SAAA,EAAW,MAAA,CAAO,OAAO,OAAA,EAAS,YAAA,EAAA,EACtC,OACA,QAAA,oBAAY,KAAA,CAAA,aAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,YAAU,aAAW,CAAA,EACzD,2BACC,KAAA,CAAA,aAAA,CAAC,OAAA,EAAA,EAAQ,WAAU,KAAA,EAAM,OAAA,EAAS,SAAS,KAAA,EAAM,MAAA,EAAA,sCAC9C,IAAA,EAAA,EAAK,IAAA,EAAK,eAAc,IAAA,EAAK,IAAA,EAAK,WAAW,MAAA,CAAO,IAAA,EAAM,CAC7D,CAEJ,CAAA,sCACC,KAAA,EAAA,EAAM,CAAA,EAAG,KAAK,CACjB,CAAA;AAGF,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,wBACrB,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAW,MAAA,CAAO,OAAO,KAAA,EAAO,OAAA,EAAU,GAAG,UAAA,EAAA,EACjD,QACH,CACF,CAAA;AAEJ;AAEA,MAAMA,WAAA,GAAY,aAAA,CAAc,CAAC,KAAA,EAAsB,KAAA,KAA4B;AACjF,EAAA,OAAO;AAAA,IACL,MAAM,GAAA,CAAI;AAAA,MACR,QAAA,EAAU,KAAA,CAAM,OAAA,CAAQ,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,CAAC;AAAA,KACnC,CAAA;AAAA,IACD,OAAO,GAAA,CAAI;AAAA,MACT,QAAA,EAAU,EAAA;AAAA,MACV,UAAA,EAAY,MAAM,UAAA,CAAW;AAAA,KAC9B,CAAA;AAAA,IACD,UAAU,GAAA,CAAI;AAAA,MACZ,SAAA,EAAW,QAAA;AAAA,MACX,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC1B,CAAA;AAAA,IACD,OAAO,GAAA,CAAI;AAAA,MACT,YAAA,EAAc;AAAA;AAAA,KACf,CAAA;AAAA,IACD,MAAM,GAAA,CAAI;AAAA,MACR,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,MACzB,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA;AAC3B,KACD;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -5,10 +5,10 @@ import { useStyles2 } from '@grafana/ui';
5
5
  import { EditorStack } from '../EditorStack.js';
6
6
 
7
7
  const EditorRow = ({ children }) => {
8
- const styles = useStyles2(getStyles);
8
+ const styles = useStyles2(getStyles$j);
9
9
  return /* @__PURE__ */ React.createElement("div", { className: styles.root }, /* @__PURE__ */ React.createElement(EditorStack, { gap: 2 }, children));
10
10
  };
11
- const getStyles = (theme) => {
11
+ const getStyles$j = (theme) => {
12
12
  return {
13
13
  root: css({
14
14
  padding: theme.spacing(1),
@@ -1 +1 @@
1
- {"version":3,"file":"EditorRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorRow.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2 } from '@grafana/ui';\nimport { EditorStack } from '../EditorStack';\n\ninterface EditorRowProps {\n children?: React.ReactNode;\n}\n\nexport const EditorRow = ({ children }: EditorRowProps) => {\n const styles = useStyles2(getStyles);\n\n return (\n <div className={styles.root}>\n <EditorStack gap={2}>{children}</EditorStack>\n </div>\n );\n};\n\nconst getStyles = (theme: GrafanaTheme2) => {\n return {\n root: css({\n padding: theme.spacing(1),\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.borderRadius(1),\n }),\n };\n};\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,SAAY,GAAA,CAAC,EAAE,QAAA,EAA+B,KAAA;AACzD,EAAM,MAAA,MAAA,GAAS,WAAW,SAAS,CAAA;AAEnC,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,IAAA,EAAA,sCACpB,WAAY,EAAA,EAAA,GAAA,EAAK,CAAI,EAAA,EAAA,QAAS,CACjC,CAAA;AAEJ;AAEA,MAAM,SAAA,GAAY,CAAC,KAAyB,KAAA;AAC1C,EAAO,OAAA;AAAA,IACL,MAAM,GAAI,CAAA;AAAA,MACR,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MACxB,eAAA,EAAiB,KAAM,CAAA,MAAA,CAAO,UAAW,CAAA,SAAA;AAAA,MACzC,YAAc,EAAA,KAAA,CAAM,KAAM,CAAA,YAAA,CAAa,CAAC;AAAA,KACzC;AAAA,GACH;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"EditorRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorRow.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2 } from '@grafana/ui';\nimport { EditorStack } from '../EditorStack';\n\ninterface EditorRowProps {\n children?: React.ReactNode;\n}\n\nexport const EditorRow = ({ children }: EditorRowProps) => {\n const styles = useStyles2(getStyles);\n\n return (\n <div className={styles.root}>\n <EditorStack gap={2}>{children}</EditorStack>\n </div>\n );\n};\n\nconst getStyles = (theme: GrafanaTheme2) => {\n return {\n root: css({\n padding: theme.spacing(1),\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.borderRadius(1),\n }),\n };\n};\n"],"names":["getStyles"],"mappings":";;;;;;AAUO,MAAM,SAAA,GAAY,CAAC,EAAE,QAAA,EAAS,KAAsB;AACzD,EAAA,MAAM,MAAA,GAAS,WAAWA,WAAS,CAAA;AAEnC,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,IAAA,EAAA,sCACpB,WAAA,EAAA,EAAY,GAAA,EAAK,CAAA,EAAA,EAAI,QAAS,CACjC,CAAA;AAEJ;AAEA,MAAMA,WAAA,GAAY,CAAC,KAAA,KAAyB;AAC1C,EAAA,OAAO;AAAA,IACL,MAAM,GAAA,CAAI;AAAA,MACR,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MACxB,eAAA,EAAiB,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,SAAA;AAAA,MACzC,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,YAAA,CAAa,CAAC;AAAA,KACzC;AAAA,GACH;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditorRows.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorRows.tsx"],"sourcesContent":["import React from 'react';\nimport { EditorStack } from '../EditorStack';\n\ninterface EditorRowsProps {\n children?: React.ReactNode;\n}\n\nexport const EditorRows = ({ children }: EditorRowsProps) => {\n return (\n <EditorStack gap={0.5} direction=\"column\">\n {children}\n </EditorStack>\n );\n};\n"],"names":[],"mappings":";;;AAOO,MAAM,UAAa,GAAA,CAAC,EAAE,QAAA,EAAgC,KAAA;AAC3D,EAAA,2CACG,WAAY,EAAA,EAAA,GAAA,EAAK,GAAK,EAAA,SAAA,EAAU,YAC9B,QACH,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"EditorRows.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/EditorRows.tsx"],"sourcesContent":["import React from 'react';\nimport { EditorStack } from '../EditorStack';\n\ninterface EditorRowsProps {\n children?: React.ReactNode;\n}\n\nexport const EditorRows = ({ children }: EditorRowsProps) => {\n return (\n <EditorStack gap={0.5} direction=\"column\">\n {children}\n </EditorStack>\n );\n};\n"],"names":[],"mappings":";;;AAOO,MAAM,UAAA,GAAa,CAAC,EAAE,QAAA,EAAS,KAAuB;AAC3D,EAAA,2CACG,WAAA,EAAA,EAAY,GAAA,EAAK,GAAA,EAAK,SAAA,EAAU,YAC9B,QACH,CAAA;AAEJ;;;;"}
@@ -12,7 +12,7 @@ function GroupByRow({ sql, columns, onSqlChange }) {
12
12
  (item) => {
13
13
  const cleaned = item.map((v) => {
14
14
  var _a;
15
- return setGroupByField((_a = v.property) == null ? undefined : _a.name);
15
+ return setGroupByField((_a = v.property) == null ? void 0 : _a.name);
16
16
  });
17
17
  const newSql = { ...sql, groupBy: cleaned };
18
18
  onSqlChange(newSql);
@@ -36,7 +36,7 @@ function makeRenderColumn({ options }) {
36
36
  return /* @__PURE__ */ React.createElement(InputGroup, null, /* @__PURE__ */ React.createElement(
37
37
  Select,
38
38
  {
39
- value: ((_a = item.property) == null ? undefined : _a.name) ? toOption(item.property.name) : null,
39
+ value: ((_a = item.property) == null ? void 0 : _a.name) ? toOption(item.property.name) : null,
40
40
  "aria-label": "Group by",
41
41
  options,
42
42
  menuShouldPortal: true,
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/GroupByRow.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { type SQLExpression } from '../types';\nimport { type QueryEditorGroupByExpression } from '../expressions';\nimport { setGroupByField } from '../utils/sql.utils';\nimport { EditorList } from '../EditorList';\nimport { Select } from '@grafana/ui';\nimport { AccessoryButton } from '../AccessoryButton';\nimport { InputGroup } from '../InputGroup';\n\ninterface GroupByRowProps {\n sql: SQLExpression;\n onSqlChange: (sql: SQLExpression) => void;\n columns?: Array<SelectableValue<string>>;\n}\n\nexport function GroupByRow({ sql, columns, onSqlChange }: GroupByRowProps) {\n const onGroupByChange = useCallback(\n (item: Array<Partial<QueryEditorGroupByExpression>>) => {\n // As new (empty object) items come in, we need to make sure they have the correct type\n const cleaned = item.map((v) => setGroupByField(v.property?.name));\n const newSql = { ...sql, groupBy: cleaned };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n return (\n <EditorList\n items={sql.groupBy!}\n onChange={onGroupByChange}\n renderItem={makeRenderColumn({\n options: columns,\n })}\n />\n );\n}\n\nfunction makeRenderColumn({ options }: { options?: Array<SelectableValue<string>> }) {\n const renderColumn = function (\n item: Partial<QueryEditorGroupByExpression>,\n onChangeItem: (item: QueryEditorGroupByExpression) => void,\n onDeleteItem: () => void\n ) {\n return (\n <InputGroup>\n <Select\n value={item.property?.name ? toOption(item.property.name) : null}\n aria-label=\"Group by\"\n options={options}\n menuShouldPortal\n onChange={({ value }) => value && onChangeItem(setGroupByField(value))}\n />\n <AccessoryButton aria-label=\"Remove group by column\" icon=\"times\" variant=\"secondary\" onClick={onDeleteItem} />\n </InputGroup>\n );\n };\n return renderColumn;\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,SAAS,UAAW,CAAA,EAAE,GAAK,EAAA,OAAA,EAAS,aAAgC,EAAA;AACzE,EAAA,MAAM,eAAkB,GAAA,WAAA;AAAA,IACtB,CAAC,IAAuD,KAAA;AAEtD,MAAA,MAAM,OAAU,GAAA,IAAA,CAAK,GAAI,CAAA,CAAC,CAAG,KAAA;AApBnC,QAAA,IAAA,EAAA;AAoBsC,QAAgB,OAAA,eAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAE,QAAF,KAAA,IAAA,GAAA,SAAA,GAAA,EAAA,CAAY,IAAI,CAAA;AAAA,OAAC,CAAA;AACjE,MAAA,MAAM,MAAS,GAAA,EAAE,GAAG,GAAA,EAAK,SAAS,OAAQ,EAAA;AAC1C,MAAA,WAAA,CAAY,MAAM,CAAA;AAAA,KACpB;AAAA,IACA,CAAC,aAAa,GAAG;AAAA,GACnB;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,OAAO,GAAI,CAAA,OAAA;AAAA,MACX,QAAU,EAAA,eAAA;AAAA,MACV,YAAY,gBAAiB,CAAA;AAAA,QAC3B,OAAS,EAAA;AAAA,OACV;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,OAAA,EAAyD,EAAA;AACnF,EAAA,MAAM,YAAe,GAAA,SACnB,IACA,EAAA,YAAA,EACA,YACA,EAAA;AA3CJ,IAAA,IAAA,EAAA;AA4CI,IAAA,2CACG,UACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAA,CAAA,CAAO,UAAK,QAAL,KAAA,IAAA,GAAA,SAAA,GAAA,EAAA,CAAe,QAAO,QAAS,CAAA,IAAA,CAAK,QAAS,CAAA,IAAI,CAAI,GAAA,IAAA;AAAA,QAC5D,YAAW,EAAA,UAAA;AAAA,QACX,OAAA;AAAA,QACA,gBAAgB,EAAA,IAAA;AAAA,QAChB,QAAA,EAAU,CAAC,EAAE,KAAA,OAAY,KAAS,IAAA,YAAA,CAAa,eAAgB,CAAA,KAAK,CAAC;AAAA;AAAA,KACvE,kBACC,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,EAAgB,YAAW,EAAA,wBAAA,EAAyB,IAAK,EAAA,OAAA,EAAQ,OAAQ,EAAA,WAAA,EAAY,OAAS,EAAA,YAAA,EAAc,CAC/G,CAAA;AAAA,GAEJ;AACA,EAAO,OAAA,YAAA;AACT;;;;"}
1
+ {"version":3,"file":"GroupByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/GroupByRow.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { type SQLExpression } from '../types';\nimport { type QueryEditorGroupByExpression } from '../expressions';\nimport { setGroupByField } from '../utils/sql.utils';\nimport { EditorList } from '../EditorList';\nimport { Select } from '@grafana/ui';\nimport { AccessoryButton } from '../AccessoryButton';\nimport { InputGroup } from '../InputGroup';\n\ninterface GroupByRowProps {\n sql: SQLExpression;\n onSqlChange: (sql: SQLExpression) => void;\n columns?: Array<SelectableValue<string>>;\n}\n\nexport function GroupByRow({ sql, columns, onSqlChange }: GroupByRowProps) {\n const onGroupByChange = useCallback(\n (item: Array<Partial<QueryEditorGroupByExpression>>) => {\n // As new (empty object) items come in, we need to make sure they have the correct type\n const cleaned = item.map((v) => setGroupByField(v.property?.name));\n const newSql = { ...sql, groupBy: cleaned };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n return (\n <EditorList\n items={sql.groupBy!}\n onChange={onGroupByChange}\n renderItem={makeRenderColumn({\n options: columns,\n })}\n />\n );\n}\n\nfunction makeRenderColumn({ options }: { options?: Array<SelectableValue<string>> }) {\n const renderColumn = function (\n item: Partial<QueryEditorGroupByExpression>,\n onChangeItem: (item: QueryEditorGroupByExpression) => void,\n onDeleteItem: () => void\n ) {\n return (\n <InputGroup>\n <Select\n value={item.property?.name ? toOption(item.property.name) : null}\n aria-label=\"Group by\"\n options={options}\n menuShouldPortal\n onChange={({ value }) => value && onChangeItem(setGroupByField(value))}\n />\n <AccessoryButton aria-label=\"Remove group by column\" icon=\"times\" variant=\"secondary\" onClick={onDeleteItem} />\n </InputGroup>\n );\n };\n return renderColumn;\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,SAAS,UAAA,CAAW,EAAE,GAAA,EAAK,OAAA,EAAS,aAAY,EAAoB;AACzE,EAAA,MAAM,eAAA,GAAkB,WAAA;AAAA,IACtB,CAAC,IAAA,KAAuD;AAEtD,MAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,KAAG;AApBnC,QAAA,IAAA,EAAA;AAoBsC,QAAA,OAAA,eAAA,CAAA,CAAgB,EAAA,GAAA,CAAA,CAAE,QAAA,KAAF,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,IAAI,CAAA;AAAA,MAAA,CAAC,CAAA;AACjE,MAAA,MAAM,MAAA,GAAS,EAAE,GAAG,GAAA,EAAK,SAAS,OAAA,EAAQ;AAC1C,MAAA,WAAA,CAAY,MAAM,CAAA;AAAA,IACpB,CAAA;AAAA,IACA,CAAC,aAAa,GAAG;AAAA,GACnB;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,OAAO,GAAA,CAAI,OAAA;AAAA,MACX,QAAA,EAAU,eAAA;AAAA,MACV,YAAY,gBAAA,CAAiB;AAAA,QAC3B,OAAA,EAAS;AAAA,OACV;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,gBAAA,CAAiB,EAAE,OAAA,EAAQ,EAAiD;AACnF,EAAA,MAAM,YAAA,GAAe,SACnB,IAAA,EACA,YAAA,EACA,YAAA,EACA;AA3CJ,IAAA,IAAA,EAAA;AA4CI,IAAA,2CACG,UAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAA,CAAA,CAAO,UAAK,QAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,QAAO,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,GAAI,IAAA;AAAA,QAC5D,YAAA,EAAW,UAAA;AAAA,QACX,OAAA;AAAA,QACA,gBAAA,EAAgB,IAAA;AAAA,QAChB,QAAA,EAAU,CAAC,EAAE,KAAA,OAAY,KAAA,IAAS,YAAA,CAAa,eAAA,CAAgB,KAAK,CAAC;AAAA;AAAA,KACvE,kBACA,KAAA,CAAA,aAAA,CAAC,eAAA,EAAA,EAAgB,YAAA,EAAW,wBAAA,EAAyB,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAQ,WAAA,EAAY,OAAA,EAAS,YAAA,EAAc,CAC/G,CAAA;AAAA,EAEJ,CAAA;AACA,EAAA,OAAO,YAAA;AACT;;;;"}
@@ -37,9 +37,9 @@ function OrderByRow({ sql, onSqlChange, columns, showOffset }) {
37
37
  );
38
38
  const onOrderByChange = useCallback(
39
39
  (item) => {
40
- const newSql = { ...sql, orderBy: setPropertyField(item == null ? undefined : item.value) };
40
+ const newSql = { ...sql, orderBy: setPropertyField(item == null ? void 0 : item.value) };
41
41
  if (item === null) {
42
- newSql.orderByDirection = undefined;
42
+ newSql.orderByDirection = void 0;
43
43
  }
44
44
  onSqlChange(newSql);
45
45
  },
@@ -50,7 +50,7 @@ function OrderByRow({ sql, onSqlChange, columns, showOffset }) {
50
50
  {
51
51
  "aria-label": "Order by",
52
52
  options: columns,
53
- value: ((_a = sql.orderBy) == null ? undefined : _a.property.name) ? toOption(sql.orderBy.property.name) : null,
53
+ value: ((_a = sql.orderBy) == null ? void 0 : _a.property.name) ? toOption(sql.orderBy.property.name) : null,
54
54
  isClearable: true,
55
55
  menuShouldPortal: true,
56
56
  onChange: onOrderByChange
@@ -59,7 +59,7 @@ function OrderByRow({ sql, onSqlChange, columns, showOffset }) {
59
59
  RadioButtonGroup,
60
60
  {
61
61
  options: sortOrderOptions,
62
- disabled: !((_b = sql == null ? undefined : sql.orderBy) == null ? undefined : _b.property.name),
62
+ disabled: !((_b = sql == null ? void 0 : sql.orderBy) == null ? void 0 : _b.property.name),
63
63
  value: sql.orderByDirection,
64
64
  onChange: onSortOrderChange
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/OrderByRow.tsx"],"sourcesContent":["import { uniqueId } from 'lodash';\nimport React, { useCallback } from 'react';\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { Input, RadioButtonGroup, Select } from '@grafana/ui';\nimport { type SQLExpression } from '../types';\nimport { setPropertyField } from '../utils/sql.utils';\nimport { Space } from '../Space';\nimport { EditorField } from '../EditorField';\nimport { InputGroup } from '../InputGroup';\n\ntype OrderByRowProps = {\n sql: SQLExpression;\n onSqlChange: (sql: SQLExpression) => void;\n columns?: Array<SelectableValue<string>>;\n showOffset?: boolean;\n};\n\nconst sortOrderOptions = [\n { description: 'Sort by ascending', value: 'ASC', icon: 'sort-amount-up' } as const,\n { description: 'Sort by descending', value: 'DESC', icon: 'sort-amount-down' } as const,\n];\n\nexport function OrderByRow({ sql, onSqlChange, columns, showOffset }: OrderByRowProps) {\n const onSortOrderChange = useCallback(\n (item: 'ASC' | 'DESC') => {\n const newSql: SQLExpression = { ...sql, orderByDirection: item };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onLimitChange = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n const newSql: SQLExpression = { ...sql, limit: Number.parseInt(event.currentTarget.value, 10) };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onOffsetChange = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n const newSql: SQLExpression = { ...sql, offset: Number.parseInt(event.currentTarget.value, 10) };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onOrderByChange = useCallback(\n (item: SelectableValue<string>) => {\n const newSql: SQLExpression = { ...sql, orderBy: setPropertyField(item?.value) };\n if (item === null) {\n newSql.orderByDirection = undefined;\n }\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n return (\n <>\n <EditorField label=\"Order by\" width={25}>\n <InputGroup>\n <Select\n aria-label=\"Order by\"\n options={columns}\n value={sql.orderBy?.property.name ? toOption(sql.orderBy.property.name) : null}\n isClearable\n menuShouldPortal\n onChange={onOrderByChange}\n />\n\n <Space h={1.5} />\n\n <RadioButtonGroup\n options={sortOrderOptions}\n disabled={!sql?.orderBy?.property.name}\n value={sql.orderByDirection}\n onChange={onSortOrderChange}\n />\n </InputGroup>\n </EditorField>\n <EditorField label=\"Limit\" optional width={25}>\n <Input type=\"number\" min={0} id={uniqueId('limit-')} value={sql.limit || ''} onChange={onLimitChange} />\n </EditorField>\n {showOffset && (\n <EditorField label=\"Offset\" optional width={25}>\n <Input type=\"number\" id={uniqueId('offset-')} value={sql.offset || ''} onChange={onOffsetChange} />\n </EditorField>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/OrderByRow.tsx"],"sourcesContent":["import { uniqueId } from 'lodash';\nimport React, { useCallback } from 'react';\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { Input, RadioButtonGroup, Select } from '@grafana/ui';\nimport { type SQLExpression } from '../types';\nimport { setPropertyField } from '../utils/sql.utils';\nimport { Space } from '../Space';\nimport { EditorField } from '../EditorField';\nimport { InputGroup } from '../InputGroup';\n\ntype OrderByRowProps = {\n sql: SQLExpression;\n onSqlChange: (sql: SQLExpression) => void;\n columns?: Array<SelectableValue<string>>;\n showOffset?: boolean;\n};\n\nconst sortOrderOptions = [\n { description: 'Sort by ascending', value: 'ASC', icon: 'sort-amount-up' } as const,\n { description: 'Sort by descending', value: 'DESC', icon: 'sort-amount-down' } as const,\n];\n\nexport function OrderByRow({ sql, onSqlChange, columns, showOffset }: OrderByRowProps) {\n const onSortOrderChange = useCallback(\n (item: 'ASC' | 'DESC') => {\n const newSql: SQLExpression = { ...sql, orderByDirection: item };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onLimitChange = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n const newSql: SQLExpression = { ...sql, limit: Number.parseInt(event.currentTarget.value, 10) };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onOffsetChange = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n const newSql: SQLExpression = { ...sql, offset: Number.parseInt(event.currentTarget.value, 10) };\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n const onOrderByChange = useCallback(\n (item: SelectableValue<string>) => {\n const newSql: SQLExpression = { ...sql, orderBy: setPropertyField(item?.value) };\n if (item === null) {\n newSql.orderByDirection = undefined;\n }\n onSqlChange(newSql);\n },\n [onSqlChange, sql]\n );\n\n return (\n <>\n <EditorField label=\"Order by\" width={25}>\n <InputGroup>\n <Select\n aria-label=\"Order by\"\n options={columns}\n value={sql.orderBy?.property.name ? toOption(sql.orderBy.property.name) : null}\n isClearable\n menuShouldPortal\n onChange={onOrderByChange}\n />\n\n <Space h={1.5} />\n\n <RadioButtonGroup\n options={sortOrderOptions}\n disabled={!sql?.orderBy?.property.name}\n value={sql.orderByDirection}\n onChange={onSortOrderChange}\n />\n </InputGroup>\n </EditorField>\n <EditorField label=\"Limit\" optional width={25}>\n <Input type=\"number\" min={0} id={uniqueId('limit-')} value={sql.limit || ''} onChange={onLimitChange} />\n </EditorField>\n {showOffset && (\n <EditorField label=\"Offset\" optional width={25}>\n <Input type=\"number\" id={uniqueId('offset-')} value={sql.offset || ''} onChange={onOffsetChange} />\n </EditorField>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { formatSQL } from '../utils/formatSQL.js';
7
7
 
8
8
  function Preview({ rawSql, language = "sql" }) {
9
9
  const [_, copyToClipboard] = useCopyToClipboard();
10
- const styles = useStyles2(getStyles);
10
+ const styles = useStyles2(getStyles$l);
11
11
  const labelElement = /* @__PURE__ */ React.createElement("div", { className: styles.labelWrapper }, /* @__PURE__ */ React.createElement("label", { className: styles.label }, "Preview"), /* @__PURE__ */ React.createElement(IconButton, { tooltip: "Copy to clipboard", onClick: () => copyToClipboard(rawSql), name: "copy" }));
12
12
  return /* @__PURE__ */ React.createElement(Field, { label: labelElement, className: styles.grow }, /* @__PURE__ */ React.createElement(
13
13
  CodeEditor,
@@ -21,7 +21,7 @@ function Preview({ rawSql, language = "sql" }) {
21
21
  }
22
22
  ));
23
23
  }
24
- function getStyles(theme) {
24
+ function getStyles$l(theme) {
25
25
  return {
26
26
  grow: css({ flexGrow: 1 }),
27
27
  label: css({ fontSize: 12, fontWeight: theme.typography.fontWeightMedium }),
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/Preview.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { useCopyToClipboard } from 'react-use';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { CodeEditor, Field, IconButton, useStyles2 } from '@grafana/ui';\n\nimport { formatSQL } from '../utils/formatSQL';\nimport type { SqlLanguage } from 'sql-formatter';\n\ntype PreviewProps = {\n rawSql: string;\n language?: SqlLanguage;\n};\n\nexport function Preview({ rawSql, language = 'sql' }: PreviewProps) {\n // TODO: use zero index to give feedback about copy success\n const [_, copyToClipboard] = useCopyToClipboard();\n const styles = useStyles2(getStyles);\n\n const labelElement = (\n <div className={styles.labelWrapper}>\n <label className={styles.label}>Preview</label>\n <IconButton tooltip=\"Copy to clipboard\" onClick={() => copyToClipboard(rawSql)} name=\"copy\" />\n </div>\n );\n\n return (\n <Field label={labelElement} className={styles.grow}>\n <CodeEditor\n language=\"sql\"\n height={80}\n value={formatSQL(rawSql, language)}\n monacoOptions={{ scrollbar: { vertical: 'hidden' }, scrollBeyondLastLine: false }}\n readOnly={true}\n showMiniMap={false}\n />\n </Field>\n );\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n grow: css({ flexGrow: 1 }),\n label: css({ fontSize: 12, fontWeight: theme.typography.fontWeightMedium }),\n labelWrapper: css({ display: 'flex', justifyContent: 'space-between', paddingBottom: theme.spacing(0.5) }),\n };\n}\n"],"names":[],"mappings":";;;;;;;AAeO,SAAS,OAAQ,CAAA,EAAE,MAAQ,EAAA,QAAA,GAAW,OAAuB,EAAA;AAElE,EAAA,MAAM,CAAC,CAAA,EAAG,eAAe,CAAA,GAAI,kBAAmB,EAAA;AAChD,EAAM,MAAA,MAAA,GAAS,WAAW,SAAS,CAAA;AAEnC,EAAM,MAAA,YAAA,mBACH,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,MAAA,CAAO,gCACpB,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAM,SAAW,EAAA,MAAA,CAAO,KAAO,EAAA,EAAA,SAAO,mBACtC,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,mBAAA,EAAoB,OAAS,EAAA,MAAM,gBAAgB,MAAM,CAAA,EAAG,IAAK,EAAA,MAAA,EAAO,CAC9F,CAAA;AAGF,EAAA,2CACG,KAAM,EAAA,EAAA,KAAA,EAAO,YAAc,EAAA,SAAA,EAAW,OAAO,IAC5C,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,QAAS,EAAA,KAAA;AAAA,MACT,MAAQ,EAAA,EAAA;AAAA,MACR,KAAA,EAAO,SAAU,CAAA,MAAA,EAAQ,QAAQ,CAAA;AAAA,MACjC,aAAA,EAAe,EAAE,SAAW,EAAA,EAAE,UAAU,QAAS,EAAA,EAAG,sBAAsB,KAAM,EAAA;AAAA,MAChF,QAAU,EAAA,IAAA;AAAA,MACV,WAAa,EAAA;AAAA;AAAA,GAEjB,CAAA;AAEJ;AAEA,SAAS,UAAU,KAAsB,EAAA;AACvC,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,GAAA,CAAI,EAAE,QAAA,EAAU,GAAG,CAAA;AAAA,IACzB,KAAA,EAAO,IAAI,EAAE,QAAA,EAAU,IAAI,UAAY,EAAA,KAAA,CAAM,UAAW,CAAA,gBAAA,EAAkB,CAAA;AAAA,IAC1E,YAAc,EAAA,GAAA,CAAI,EAAE,OAAA,EAAS,MAAQ,EAAA,cAAA,EAAgB,eAAiB,EAAA,aAAA,EAAe,KAAM,CAAA,OAAA,CAAQ,GAAG,CAAA,EAAG;AAAA,GAC3G;AACF;;;;"}
1
+ {"version":3,"file":"Preview.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/Preview.tsx"],"sourcesContent":["import React from 'react';\nimport { css } from '@emotion/css';\nimport { useCopyToClipboard } from 'react-use';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { CodeEditor, Field, IconButton, useStyles2 } from '@grafana/ui';\n\nimport { formatSQL } from '../utils/formatSQL';\nimport type { SqlLanguage } from 'sql-formatter';\n\ntype PreviewProps = {\n rawSql: string;\n language?: SqlLanguage;\n};\n\nexport function Preview({ rawSql, language = 'sql' }: PreviewProps) {\n // TODO: use zero index to give feedback about copy success\n const [_, copyToClipboard] = useCopyToClipboard();\n const styles = useStyles2(getStyles);\n\n const labelElement = (\n <div className={styles.labelWrapper}>\n <label className={styles.label}>Preview</label>\n <IconButton tooltip=\"Copy to clipboard\" onClick={() => copyToClipboard(rawSql)} name=\"copy\" />\n </div>\n );\n\n return (\n <Field label={labelElement} className={styles.grow}>\n <CodeEditor\n language=\"sql\"\n height={80}\n value={formatSQL(rawSql, language)}\n monacoOptions={{ scrollbar: { vertical: 'hidden' }, scrollBeyondLastLine: false }}\n readOnly={true}\n showMiniMap={false}\n />\n </Field>\n );\n}\n\nfunction getStyles(theme: GrafanaTheme2) {\n return {\n grow: css({ flexGrow: 1 }),\n label: css({ fontSize: 12, fontWeight: theme.typography.fontWeightMedium }),\n labelWrapper: css({ display: 'flex', justifyContent: 'space-between', paddingBottom: theme.spacing(0.5) }),\n };\n}\n"],"names":["getStyles"],"mappings":";;;;;;;AAeO,SAAS,OAAA,CAAQ,EAAE,MAAA,EAAQ,QAAA,GAAW,OAAM,EAAiB;AAElE,EAAA,MAAM,CAAC,CAAA,EAAG,eAAe,CAAA,GAAI,kBAAA,EAAmB;AAChD,EAAA,MAAM,MAAA,GAAS,WAAWA,WAAS,CAAA;AAEnC,EAAA,MAAM,YAAA,mBACJ,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,gCACrB,KAAA,CAAA,aAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,MAAA,CAAO,KAAA,EAAA,EAAO,SAAO,mBACvC,KAAA,CAAA,aAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,mBAAA,EAAoB,OAAA,EAAS,MAAM,gBAAgB,MAAM,CAAA,EAAG,IAAA,EAAK,MAAA,EAAO,CAC9F,CAAA;AAGF,EAAA,2CACG,KAAA,EAAA,EAAM,KAAA,EAAO,YAAA,EAAc,SAAA,EAAW,OAAO,IAAA,EAAA,kBAC5C,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAS,KAAA;AAAA,MACT,MAAA,EAAQ,EAAA;AAAA,MACR,KAAA,EAAO,SAAA,CAAU,MAAA,EAAQ,QAAQ,CAAA;AAAA,MACjC,aAAA,EAAe,EAAE,SAAA,EAAW,EAAE,UAAU,QAAA,EAAS,EAAG,sBAAsB,KAAA,EAAM;AAAA,MAChF,QAAA,EAAU,IAAA;AAAA,MACV,WAAA,EAAa;AAAA;AAAA,GAEjB,CAAA;AAEJ;AAEA,SAASA,YAAU,KAAA,EAAsB;AACvC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,GAAA,CAAI,EAAE,QAAA,EAAU,GAAG,CAAA;AAAA,IACzB,KAAA,EAAO,IAAI,EAAE,QAAA,EAAU,IAAI,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,gBAAA,EAAkB,CAAA;AAAA,IAC1E,YAAA,EAAc,GAAA,CAAI,EAAE,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,eAAA,EAAiB,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AAAA,GAC3G;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SQLGroupByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/SQLGroupByRow.tsx"],"sourcesContent":["import React from 'react';\nimport { type SelectableValue } from '@grafana/data';\n\nimport { GroupByRow } from './GroupByRow';\nimport { type SQLQuery, type DB, type QueryWithDefaults } from '../types';\nimport { useSqlChange } from '../utils/useSqlChange';\n\ninterface SQLGroupByRowProps {\n fields: SelectableValue[];\n query: QueryWithDefaults;\n onQueryChange: (query: SQLQuery) => void;\n db: DB;\n}\n\nexport function SQLGroupByRow({ fields, query, onQueryChange, db }: SQLGroupByRowProps) {\n const { onSqlChange } = useSqlChange({ query, onQueryChange, db });\n\n return <GroupByRow columns={fields} sql={query.sql!} onSqlChange={onSqlChange} />;\n}\n"],"names":[],"mappings":";;;;;;AAcO,SAAS,cAAc,EAAE,MAAA,EAAQ,KAAO,EAAA,aAAA,EAAe,IAA0B,EAAA;AACtF,EAAM,MAAA,EAAE,aAAgB,GAAA,YAAA,CAAa,EAAE,KAAO,EAAA,aAAA,EAAe,IAAI,CAAA;AAEjE,EAAA,2CAAQ,UAAW,EAAA,EAAA,OAAA,EAAS,QAAQ,GAAK,EAAA,KAAA,CAAM,KAAM,WAA0B,EAAA,CAAA;AACjF;;;;"}
1
+ {"version":3,"file":"SQLGroupByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/SQLGroupByRow.tsx"],"sourcesContent":["import React from 'react';\nimport { type SelectableValue } from '@grafana/data';\n\nimport { GroupByRow } from './GroupByRow';\nimport { type SQLQuery, type DB, type QueryWithDefaults } from '../types';\nimport { useSqlChange } from '../utils/useSqlChange';\n\ninterface SQLGroupByRowProps {\n fields: SelectableValue[];\n query: QueryWithDefaults;\n onQueryChange: (query: SQLQuery) => void;\n db: DB;\n}\n\nexport function SQLGroupByRow({ fields, query, onQueryChange, db }: SQLGroupByRowProps) {\n const { onSqlChange } = useSqlChange({ query, onQueryChange, db });\n\n return <GroupByRow columns={fields} sql={query.sql!} onSqlChange={onSqlChange} />;\n}\n"],"names":[],"mappings":";;;;;;AAcO,SAAS,cAAc,EAAE,MAAA,EAAQ,KAAA,EAAO,aAAA,EAAe,IAAG,EAAuB;AACtF,EAAA,MAAM,EAAE,aAAY,GAAI,YAAA,CAAa,EAAE,KAAA,EAAO,aAAA,EAAe,IAAI,CAAA;AAEjE,EAAA,2CAAQ,UAAA,EAAA,EAAW,OAAA,EAAS,QAAQ,GAAA,EAAK,KAAA,CAAM,KAAM,WAAA,EAA0B,CAAA;AACjF;;;;"}
@@ -9,9 +9,9 @@ function SQLOrderByRow({ fields, query, onQueryChange, db }) {
9
9
  const { onSqlChange } = useSqlChange({ query, onQueryChange, db });
10
10
  let columnsWithIndices = [];
11
11
  if (fields) {
12
- const options = (_b = (_a = query.sql) == null ? undefined : _a.columns) == null ? undefined : _b.map((c, i) => {
12
+ const options = (_b = (_a = query.sql) == null ? void 0 : _a.columns) == null ? void 0 : _b.map((c, i) => {
13
13
  var _a2, _b2;
14
- const value = c.name ? `${c.name}(${(_a2 = c.parameters) == null ? undefined : _a2.map((p) => p.name)})` : (_b2 = c.parameters) == null ? undefined : _b2.map((p) => p.name);
14
+ const value = c.name ? `${c.name}(${(_a2 = c.parameters) == null ? void 0 : _a2.map((p) => p.name)})` : (_b2 = c.parameters) == null ? void 0 : _b2.map((p) => p.name);
15
15
  return {
16
16
  value,
17
17
  label: `${i + 1} - ${value}`
@@ -1 +1 @@
1
- {"version":3,"file":"SQLOrderByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/SQLOrderByRow.tsx"],"sourcesContent":["import React from 'react';\nimport { type SelectableValue } from '@grafana/data';\nimport { OrderByRow } from './OrderByRow';\nimport { type SQLQuery, type DB, type QueryWithDefaults } from '../types';\nimport { useSqlChange } from '../utils/useSqlChange';\n\ntype SQLOrderByRowProps = {\n fields: SelectableValue[];\n query: QueryWithDefaults;\n onQueryChange: (query: SQLQuery) => void;\n db: DB;\n};\n\nexport function SQLOrderByRow({ fields, query, onQueryChange, db }: SQLOrderByRowProps) {\n const { onSqlChange } = useSqlChange({ query, onQueryChange, db });\n let columnsWithIndices: SelectableValue[] = [];\n\n if (fields) {\n const options = query.sql?.columns?.map((c, i) => {\n const value = c.name ? `${c.name}(${c.parameters?.map((p) => p.name)})` : c.parameters?.map((p) => p.name);\n return {\n value,\n label: `${i + 1} - ${value}`,\n };\n });\n columnsWithIndices = [\n {\n value: '',\n label: 'Selected columns',\n options,\n expanded: true,\n },\n ...fields,\n ];\n }\n\n return <OrderByRow sql={query.sql!} onSqlChange={onSqlChange} columns={columnsWithIndices} />;\n}\n"],"names":["_a","_b"],"mappings":";;;;;;AAaO,SAAS,cAAc,EAAE,MAAA,EAAQ,KAAO,EAAA,aAAA,EAAe,IAA0B,EAAA;AAbxF,EAAA,IAAA,EAAA,EAAA,EAAA;AAcE,EAAM,MAAA,EAAE,aAAgB,GAAA,YAAA,CAAa,EAAE,KAAO,EAAA,aAAA,EAAe,IAAI,CAAA;AACjE,EAAA,IAAI,qBAAwC,EAAC;AAE7C,EAAA,IAAI,MAAQ,EAAA;AACV,IAAM,MAAA,OAAA,GAAA,CAAU,iBAAM,GAAN,KAAA,IAAA,GAAA,SAAA,GAAA,EAAA,CAAW,YAAX,IAAoB,GAAA,SAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,CAAM,KAAA;AAlBtD,MAAA,IAAAA,GAAAC,EAAAA,GAAAA;AAmBM,MAAM,MAAA,KAAA,GAAQ,CAAE,CAAA,IAAA,GAAO,CAAG,EAAA,CAAA,CAAE,IAAI,CAAA,CAAA,EAAA,CAAID,GAAA,GAAA,CAAA,CAAE,UAAF,KAAA,IAAA,GAAA,SAAA,GAAAA,GAAc,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,IAAK,CAAA,CAAA,CAAA,CAAA,GAAA,CAAMC,GAAA,GAAA,CAAA,CAAE,UAAF,KAAA,IAAA,GAAA,SAAA,GAAAA,GAAc,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAE,CAAA,IAAA,CAAA;AACrG,MAAO,OAAA;AAAA,QACL,KAAA;AAAA,QACA,KAAO,EAAA,CAAA,EAAG,CAAI,GAAA,CAAC,MAAM,KAAK,CAAA;AAAA,OAC5B;AAAA,KACF,CAAA;AACA,IAAqB,kBAAA,GAAA;AAAA,MACnB;AAAA,QACE,KAAO,EAAA,EAAA;AAAA,QACP,KAAO,EAAA,kBAAA;AAAA,QACP,OAAA;AAAA,QACA,QAAU,EAAA;AAAA,OACZ;AAAA,MACA,GAAG;AAAA,KACL;AAAA;AAGF,EAAA,2CAAQ,UAAW,EAAA,EAAA,GAAA,EAAK,MAAM,GAAM,EAAA,WAAA,EAA0B,SAAS,kBAAoB,EAAA,CAAA;AAC7F;;;;"}
1
+ {"version":3,"file":"SQLOrderByRow.js","sources":["../../../../../src/components/QueryEditor/visual-query-builder/SQLOrderByRow.tsx"],"sourcesContent":["import React from 'react';\nimport { type SelectableValue } from '@grafana/data';\nimport { OrderByRow } from './OrderByRow';\nimport { type SQLQuery, type DB, type QueryWithDefaults } from '../types';\nimport { useSqlChange } from '../utils/useSqlChange';\n\ntype SQLOrderByRowProps = {\n fields: SelectableValue[];\n query: QueryWithDefaults;\n onQueryChange: (query: SQLQuery) => void;\n db: DB;\n};\n\nexport function SQLOrderByRow({ fields, query, onQueryChange, db }: SQLOrderByRowProps) {\n const { onSqlChange } = useSqlChange({ query, onQueryChange, db });\n let columnsWithIndices: SelectableValue[] = [];\n\n if (fields) {\n const options = query.sql?.columns?.map((c, i) => {\n const value = c.name ? `${c.name}(${c.parameters?.map((p) => p.name)})` : c.parameters?.map((p) => p.name);\n return {\n value,\n label: `${i + 1} - ${value}`,\n };\n });\n columnsWithIndices = [\n {\n value: '',\n label: 'Selected columns',\n options,\n expanded: true,\n },\n ...fields,\n ];\n }\n\n return <OrderByRow sql={query.sql!} onSqlChange={onSqlChange} columns={columnsWithIndices} />;\n}\n"],"names":["_a","_b"],"mappings":";;;;;;AAaO,SAAS,cAAc,EAAE,MAAA,EAAQ,KAAA,EAAO,aAAA,EAAe,IAAG,EAAuB;AAbxF,EAAA,IAAA,EAAA,EAAA,EAAA;AAcE,EAAA,MAAM,EAAE,aAAY,GAAI,YAAA,CAAa,EAAE,KAAA,EAAO,aAAA,EAAe,IAAI,CAAA;AACjE,EAAA,IAAI,qBAAwC,EAAC;AAE7C,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,OAAA,GAAA,CAAU,iBAAM,GAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAW,YAAX,IAAA,GAAA,MAAA,GAAA,EAAA,CAAoB,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,KAAM;AAlBtD,MAAA,IAAAA,GAAAA,EAAAC,GAAAA;AAmBM,MAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,IAAA,GAAO,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,CAAA,EAAA,CAAID,GAAAA,GAAA,CAAA,CAAE,UAAA,KAAF,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAc,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,CAAA,GAAA,CAAMC,GAAAA,GAAA,CAAA,CAAE,UAAA,KAAF,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAc,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,CAAA;AACrG,MAAA,OAAO;AAAA,QACL,KAAA;AAAA,QACA,KAAA,EAAO,CAAA,EAAG,CAAA,GAAI,CAAC,MAAM,KAAK,CAAA;AAAA,OAC5B;AAAA,IACF,CAAA,CAAA;AACA,IAAA,kBAAA,GAAqB;AAAA,MACnB;AAAA,QACE,KAAA,EAAO,EAAA;AAAA,QACP,KAAA,EAAO,kBAAA;AAAA,QACP,OAAA;AAAA,QACA,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,GAAG;AAAA,KACL;AAAA,EACF;AAEA,EAAA,2CAAQ,UAAA,EAAA,EAAW,GAAA,EAAK,MAAM,GAAA,EAAM,WAAA,EAA0B,SAAS,kBAAA,EAAoB,CAAA;AAC7F;;;;"}