@grafana/plugin-ui 0.9.5 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/dist/cjs/index.d.cts +1205 -0
  2. package/dist/cjs/index.js +9739 -0
  3. package/dist/cjs/index.js.map +1 -0
  4. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js +80 -0
  5. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -0
  6. package/dist/esm/components/ConfigEditor/Auth/Auth.js +43 -0
  7. package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -0
  8. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +132 -0
  9. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -0
  10. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js +82 -0
  11. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -0
  12. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js +91 -0
  13. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -0
  14. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +101 -0
  15. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -0
  16. package/dist/esm/components/ConfigEditor/Auth/styles.js +18 -0
  17. package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -0
  18. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +58 -0
  19. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -0
  20. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js +18 -0
  21. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -0
  22. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +114 -0
  23. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -0
  24. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js +31 -0
  25. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -0
  26. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js +35 -0
  27. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -0
  28. package/dist/esm/components/ConfigEditor/Auth/types.js +12 -0
  29. package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -0
  30. package/dist/esm/components/ConfigEditor/Auth/utils.js +200 -0
  31. package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -0
  32. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +38 -0
  33. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -0
  34. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js +9 -0
  35. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -0
  36. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js +9 -0
  37. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -0
  38. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js +55 -0
  39. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -0
  40. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +53 -0
  41. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -0
  42. package/dist/esm/components/ConfigEditor/DataSourceDescription.js +32 -0
  43. package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -0
  44. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js +45 -0
  45. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -0
  46. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +182 -0
  47. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -0
  48. package/dist/esm/components/DataLinks/DataLink.js +144 -0
  49. package/dist/esm/components/DataLinks/DataLink.js.map +1 -0
  50. package/dist/esm/components/DataLinks/DataLinks.js +66 -0
  51. package/dist/esm/components/DataLinks/DataLinks.js.map +1 -0
  52. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +103 -0
  53. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -0
  54. package/dist/esm/components/DatePicker/DatePicker.js +39 -0
  55. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
  56. package/dist/{components → esm/components}/DatePicker/styles.js +20 -21
  57. package/dist/esm/components/DatePicker/styles.js.map +1 -0
  58. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js +28 -0
  59. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -0
  60. package/dist/esm/components/DatePickerWithInput/styles.js +16 -0
  61. package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -0
  62. package/dist/esm/components/DebounceInput/DebounceInput.js +15 -0
  63. package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -0
  64. package/dist/esm/components/Plugins/PluginSignatureBadge.js +57 -0
  65. package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -0
  66. package/dist/esm/components/QueryEditor/AccessoryButton.js +18 -0
  67. package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -0
  68. package/dist/esm/components/QueryEditor/ConfirmModal.js +26 -0
  69. package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -0
  70. package/dist/esm/components/QueryEditor/DatasetSelector.js +56 -0
  71. package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -0
  72. package/dist/esm/components/QueryEditor/EditorField.js +42 -0
  73. package/dist/esm/components/QueryEditor/EditorField.js.map +1 -0
  74. package/dist/esm/components/QueryEditor/EditorFieldGroup.js +9 -0
  75. package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -0
  76. package/dist/esm/components/QueryEditor/EditorHeader.js +21 -0
  77. package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -0
  78. package/dist/esm/components/QueryEditor/EditorList.js +28 -0
  79. package/dist/esm/components/QueryEditor/EditorList.js.map +1 -0
  80. package/dist/esm/components/QueryEditor/EditorRow.js +22 -0
  81. package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -0
  82. package/dist/esm/components/QueryEditor/EditorRows.js +9 -0
  83. package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -0
  84. package/dist/esm/components/QueryEditor/EditorStack.js +11 -0
  85. package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -0
  86. package/dist/esm/components/QueryEditor/EditorSwitch.js +20 -0
  87. package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -0
  88. package/dist/esm/components/QueryEditor/FlexItem.js +8 -0
  89. package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -0
  90. package/dist/esm/components/QueryEditor/InlineSelect.js +50 -0
  91. package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -0
  92. package/dist/esm/components/QueryEditor/InputGroup.js +63 -0
  93. package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -0
  94. package/dist/esm/components/QueryEditor/QueryEditor.js +110 -0
  95. package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -0
  96. package/dist/esm/components/QueryEditor/QueryHeader.js +172 -0
  97. package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -0
  98. package/dist/esm/components/QueryEditor/RunQueryButton.js +42 -0
  99. package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -0
  100. package/dist/esm/components/QueryEditor/Space.js +35 -0
  101. package/dist/esm/components/QueryEditor/Space.js.map +1 -0
  102. package/dist/esm/components/QueryEditor/TableSelector.js +33 -0
  103. package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -0
  104. package/dist/esm/components/QueryEditor/defaults.js +25 -0
  105. package/dist/esm/components/QueryEditor/defaults.js.map +1 -0
  106. package/dist/esm/components/QueryEditor/expressions.js +17 -0
  107. package/dist/esm/components/QueryEditor/expressions.js.map +1 -0
  108. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +39 -0
  109. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -0
  110. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +63 -0
  111. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -0
  112. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +72 -0
  113. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -0
  114. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +96 -0
  115. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -0
  116. package/dist/esm/components/QueryEditor/types.js +33 -0
  117. package/dist/esm/components/QueryEditor/types.js.map +1 -0
  118. package/dist/esm/components/QueryEditor/utils/formatSQL.js +10 -0
  119. package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -0
  120. package/dist/esm/components/QueryEditor/utils/sql.utils.js +93 -0
  121. package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -0
  122. package/dist/esm/components/QueryEditor/utils/useSqlChange.js +19 -0
  123. package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -0
  124. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +216 -0
  125. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -0
  126. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +44 -0
  127. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -0
  128. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +22 -0
  129. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -0
  130. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js +9 -0
  131. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -0
  132. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +51 -0
  133. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -0
  134. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +70 -0
  135. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -0
  136. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +33 -0
  137. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -0
  138. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +14 -0
  139. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -0
  140. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +35 -0
  141. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -0
  142. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js +19 -0
  143. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -0
  144. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js +40 -0
  145. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -0
  146. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +123 -0
  147. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -0
  148. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js +24 -0
  149. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -0
  150. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js +79 -0
  151. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -0
  152. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js +11 -0
  153. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -0
  154. package/dist/esm/components/SQLEditor/components/SQLEditor.js +339 -0
  155. package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -0
  156. package/dist/esm/components/SQLEditor/mocks/Monaco.js +19 -0
  157. package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -0
  158. package/dist/esm/components/SQLEditor/mocks/TextModel.js +21 -0
  159. package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -0
  160. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js +217 -0
  161. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -0
  162. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js +232 -0
  163. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -0
  164. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js +272 -0
  165. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -0
  166. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js +9 -0
  167. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -0
  168. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js +197 -0
  169. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -0
  170. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js +212 -0
  171. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -0
  172. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js +252 -0
  173. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -0
  174. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js +387 -0
  175. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -0
  176. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js +417 -0
  177. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -0
  178. package/dist/{src/components/SQLEditor/mocks/testData.d.ts → esm/components/SQLEditor/mocks/testData.js} +10 -9
  179. package/dist/esm/components/SQLEditor/mocks/testData.js.map +1 -0
  180. package/dist/esm/components/SQLEditor/standardSql/definition.js +19 -0
  181. package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -0
  182. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +20 -0
  183. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -0
  184. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +24 -0
  185. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -0
  186. package/dist/esm/components/SQLEditor/standardSql/language.js +867 -0
  187. package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -0
  188. package/dist/esm/components/SQLEditor/standardSql/macros.js +58 -0
  189. package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -0
  190. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +34 -0
  191. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -0
  192. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +367 -0
  193. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -0
  194. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +215 -0
  195. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -0
  196. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +152 -0
  197. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -0
  198. package/dist/esm/components/SQLEditor/test-utils/index.js +11 -0
  199. package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -0
  200. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js +45 -0
  201. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -0
  202. package/dist/esm/components/SQLEditor/types.js +140 -0
  203. package/dist/esm/components/SQLEditor/types.js.map +1 -0
  204. package/dist/esm/components/SQLEditor/utils/LinkedToken.js +145 -0
  205. package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -0
  206. package/dist/esm/components/SQLEditor/utils/commands.js +7 -0
  207. package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -0
  208. package/dist/esm/components/SQLEditor/utils/debugger.js +14 -0
  209. package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -0
  210. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js +16 -0
  211. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -0
  212. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +45 -0
  213. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -0
  214. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +17 -0
  215. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -0
  216. package/dist/esm/components/SQLEditor/utils/tokenUtils.js +36 -0
  217. package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -0
  218. package/dist/esm/components/Segment/Segment.js +24 -0
  219. package/dist/esm/components/Segment/Segment.js.map +1 -0
  220. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +39 -0
  221. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -0
  222. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +178 -0
  223. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -0
  224. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +70 -0
  225. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -0
  226. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +77 -0
  227. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -0
  228. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +254 -0
  229. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -0
  230. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +55 -0
  231. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -0
  232. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +107 -0
  233. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -0
  234. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +87 -0
  235. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -0
  236. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +169 -0
  237. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -0
  238. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +43 -0
  239. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -0
  240. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +136 -0
  241. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -0
  242. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +39 -0
  243. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -0
  244. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +73 -0
  245. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -0
  246. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js +14 -0
  247. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -0
  248. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +44 -0
  249. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -0
  250. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +97 -0
  251. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -0
  252. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +30 -0
  253. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -0
  254. package/dist/esm/components/VisualQueryBuilder/types.js +12 -0
  255. package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -0
  256. package/dist/esm/datasource/SqlDatasource.js +172 -0
  257. package/dist/esm/datasource/SqlDatasource.js.map +1 -0
  258. package/dist/esm/datasource/constants.js +18 -0
  259. package/dist/esm/datasource/constants.js.map +1 -0
  260. package/dist/esm/hooks/useDebounce.js +18 -0
  261. package/dist/esm/hooks/useDebounce.js.map +1 -0
  262. package/dist/esm/index.d.ts +1205 -0
  263. package/dist/esm/index.js +57 -0
  264. package/dist/esm/index.js.map +1 -0
  265. package/package.json +62 -41
  266. package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js +0 -33
  267. package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js.map +0 -1
  268. package/dist/components/Cascader/Cascader.js +0 -6
  269. package/dist/components/Cascader/Cascader.js.map +0 -1
  270. package/dist/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js +0 -28
  271. package/dist/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +0 -1
  272. package/dist/components/ConfigEditor/AdvancedSettings/index.js +0 -6
  273. package/dist/components/ConfigEditor/AdvancedSettings/index.js.map +0 -1
  274. package/dist/components/ConfigEditor/Auth/Auth.js +0 -24
  275. package/dist/components/ConfigEditor/Auth/Auth.js.map +0 -1
  276. package/dist/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +0 -110
  277. package/dist/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +0 -1
  278. package/dist/components/ConfigEditor/Auth/auth-method/BasicAuth.js +0 -23
  279. package/dist/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +0 -1
  280. package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeader.js +0 -41
  281. package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +0 -1
  282. package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +0 -76
  283. package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +0 -1
  284. package/dist/components/ConfigEditor/Auth/index.js +0 -10
  285. package/dist/components/ConfigEditor/Auth/index.js.map +0 -1
  286. package/dist/components/ConfigEditor/Auth/styles.js +0 -19
  287. package/dist/components/ConfigEditor/Auth/styles.js.map +0 -1
  288. package/dist/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +0 -18
  289. package/dist/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +0 -1
  290. package/dist/components/ConfigEditor/Auth/tls/SkipTLSVerification.js +0 -11
  291. package/dist/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +0 -1
  292. package/dist/components/ConfigEditor/Auth/tls/TLSClientAuth.js +0 -22
  293. package/dist/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +0 -1
  294. package/dist/components/ConfigEditor/Auth/tls/TLSSettings.js +0 -25
  295. package/dist/components/ConfigEditor/Auth/tls/TLSSettings.js.map +0 -1
  296. package/dist/components/ConfigEditor/Auth/tls/TLSSettingsSection.js +0 -35
  297. package/dist/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +0 -1
  298. package/dist/components/ConfigEditor/Auth/types.js +0 -11
  299. package/dist/components/ConfigEditor/Auth/types.js.map +0 -1
  300. package/dist/components/ConfigEditor/Auth/utils.js +0 -113
  301. package/dist/components/ConfigEditor/Auth/utils.js.map +0 -1
  302. package/dist/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +0 -32
  303. package/dist/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +0 -1
  304. package/dist/components/ConfigEditor/ConfigSection/ConfigSection.js +0 -12
  305. package/dist/components/ConfigEditor/ConfigSection/ConfigSection.js.map +0 -1
  306. package/dist/components/ConfigEditor/ConfigSection/ConfigSubSection.js +0 -12
  307. package/dist/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +0 -1
  308. package/dist/components/ConfigEditor/ConfigSection/GenericConfigSection.js +0 -40
  309. package/dist/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +0 -1
  310. package/dist/components/ConfigEditor/ConfigSection/index.js +0 -10
  311. package/dist/components/ConfigEditor/ConfigSection/index.js.map +0 -1
  312. package/dist/components/ConfigEditor/Connection/ConnectionSettings.js +0 -26
  313. package/dist/components/ConfigEditor/Connection/ConnectionSettings.js.map +0 -1
  314. package/dist/components/ConfigEditor/Connection/index.js +0 -6
  315. package/dist/components/ConfigEditor/Connection/index.js.map +0 -1
  316. package/dist/components/ConfigEditor/DataSourceDescription.js +0 -39
  317. package/dist/components/ConfigEditor/DataSourceDescription.js.map +0 -1
  318. package/dist/components/ConfigEditor/SecureSocksProxyToggle.js +0 -24
  319. package/dist/components/ConfigEditor/SecureSocksProxyToggle.js.map +0 -1
  320. package/dist/components/ConfigEditor/index.js +0 -22
  321. package/dist/components/ConfigEditor/index.js.map +0 -1
  322. package/dist/components/ConfigEditor/types.js +0 -3
  323. package/dist/components/ConfigEditor/types.js.map +0 -1
  324. package/dist/components/CustomHeadersSettings/CustomHeadersSettings.js +0 -124
  325. package/dist/components/CustomHeadersSettings/CustomHeadersSettings.js.map +0 -1
  326. package/dist/components/DataLinks/DataLink.js +0 -79
  327. package/dist/components/DataLinks/DataLink.js.map +0 -1
  328. package/dist/components/DataLinks/DataLinks.js +0 -56
  329. package/dist/components/DataLinks/DataLinks.js.map +0 -1
  330. package/dist/components/DataLinks/index.js +0 -7
  331. package/dist/components/DataLinks/index.js.map +0 -1
  332. package/dist/components/DataLinks/types.js +0 -3
  333. package/dist/components/DataLinks/types.js.map +0 -1
  334. package/dist/components/DataSourcePicker/DataSourcePicker.js +0 -88
  335. package/dist/components/DataSourcePicker/DataSourcePicker.js.map +0 -1
  336. package/dist/components/DatePicker/DatePicker.js +0 -31
  337. package/dist/components/DatePicker/DatePicker.js.map +0 -1
  338. package/dist/components/DatePicker/styles.js.map +0 -1
  339. package/dist/components/DatePickerWithInput/DatePickerWithInput.js +0 -23
  340. package/dist/components/DatePickerWithInput/DatePickerWithInput.js.map +0 -1
  341. package/dist/components/DatePickerWithInput/style.css +0 -8
  342. package/dist/components/DebounceInput/DebounceInput.js +0 -19
  343. package/dist/components/DebounceInput/DebounceInput.js.map +0 -1
  344. package/dist/components/Plugins/PluginSignatureBadge.js +0 -65
  345. package/dist/components/Plugins/PluginSignatureBadge.js.map +0 -1
  346. package/dist/components/QueryEditor/AccessoryButton.js +0 -20
  347. package/dist/components/QueryEditor/AccessoryButton.js.map +0 -1
  348. package/dist/components/QueryEditor/ConfirmModal.js +0 -28
  349. package/dist/components/QueryEditor/ConfirmModal.js.map +0 -1
  350. package/dist/components/QueryEditor/DatasetSelector.js +0 -40
  351. package/dist/components/QueryEditor/DatasetSelector.js.map +0 -1
  352. package/dist/components/QueryEditor/EditorField.js +0 -49
  353. package/dist/components/QueryEditor/EditorField.js.map +0 -1
  354. package/dist/components/QueryEditor/EditorFieldGroup.js +0 -11
  355. package/dist/components/QueryEditor/EditorFieldGroup.js.map +0 -1
  356. package/dist/components/QueryEditor/EditorHeader.js +0 -22
  357. package/dist/components/QueryEditor/EditorHeader.js.map +0 -1
  358. package/dist/components/QueryEditor/EditorList.js +0 -27
  359. package/dist/components/QueryEditor/EditorList.js.map +0 -1
  360. package/dist/components/QueryEditor/EditorRow.js +0 -24
  361. package/dist/components/QueryEditor/EditorRow.js.map +0 -1
  362. package/dist/components/QueryEditor/EditorRows.js +0 -11
  363. package/dist/components/QueryEditor/EditorRows.js.map +0 -1
  364. package/dist/components/QueryEditor/EditorStack.js +0 -13
  365. package/dist/components/QueryEditor/EditorStack.js.map +0 -1
  366. package/dist/components/QueryEditor/EditorSwitch.js +0 -24
  367. package/dist/components/QueryEditor/EditorSwitch.js.map +0 -1
  368. package/dist/components/QueryEditor/FlexItem.js +0 -10
  369. package/dist/components/QueryEditor/FlexItem.js.map +0 -1
  370. package/dist/components/QueryEditor/InlineSelect.js +0 -57
  371. package/dist/components/QueryEditor/InlineSelect.js.map +0 -1
  372. package/dist/components/QueryEditor/InputGroup.js +0 -66
  373. package/dist/components/QueryEditor/InputGroup.js.map +0 -1
  374. package/dist/components/QueryEditor/QueryEditor.js +0 -74
  375. package/dist/components/QueryEditor/QueryEditor.js.map +0 -1
  376. package/dist/components/QueryEditor/QueryHeader.js +0 -86
  377. package/dist/components/QueryEditor/QueryHeader.js.map +0 -1
  378. package/dist/components/QueryEditor/RunQueryButton.js +0 -19
  379. package/dist/components/QueryEditor/RunQueryButton.js.map +0 -1
  380. package/dist/components/QueryEditor/Space.js +0 -36
  381. package/dist/components/QueryEditor/Space.js.map +0 -1
  382. package/dist/components/QueryEditor/TableSelector.js +0 -20
  383. package/dist/components/QueryEditor/TableSelector.js.map +0 -1
  384. package/dist/components/QueryEditor/defaults.js +0 -20
  385. package/dist/components/QueryEditor/defaults.js.map +0 -1
  386. package/dist/components/QueryEditor/expressions.js +0 -18
  387. package/dist/components/QueryEditor/expressions.js.map +0 -1
  388. package/dist/components/QueryEditor/index.js +0 -37
  389. package/dist/components/QueryEditor/index.js.map +0 -1
  390. package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +0 -21
  391. package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +0 -1
  392. package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js +0 -59
  393. package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +0 -1
  394. package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js +0 -79
  395. package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js.map +0 -1
  396. package/dist/components/QueryEditor/query-editor-raw/RawEditor.js +0 -60
  397. package/dist/components/QueryEditor/query-editor-raw/RawEditor.js.map +0 -1
  398. package/dist/components/QueryEditor/types.js +0 -26
  399. package/dist/components/QueryEditor/types.js.map +0 -1
  400. package/dist/components/QueryEditor/utils/formatSQL.js +0 -13
  401. package/dist/components/QueryEditor/utils/formatSQL.js.map +0 -1
  402. package/dist/components/QueryEditor/utils/sql.utils.js +0 -103
  403. package/dist/components/QueryEditor/utils/sql.utils.js.map +0 -1
  404. package/dist/components/QueryEditor/utils/useSqlChange.js +0 -16
  405. package/dist/components/QueryEditor/utils/useSqlChange.js.map +0 -1
  406. package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +0 -109
  407. package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +0 -1
  408. package/dist/components/QueryEditor/visual-query-builder/EditorField.js +0 -51
  409. package/dist/components/QueryEditor/visual-query-builder/EditorField.js.map +0 -1
  410. package/dist/components/QueryEditor/visual-query-builder/EditorRow.js +0 -24
  411. package/dist/components/QueryEditor/visual-query-builder/EditorRow.js.map +0 -1
  412. package/dist/components/QueryEditor/visual-query-builder/EditorRows.js +0 -11
  413. package/dist/components/QueryEditor/visual-query-builder/EditorRows.js.map +0 -1
  414. package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js +0 -33
  415. package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js.map +0 -1
  416. package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js +0 -50
  417. package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js.map +0 -1
  418. package/dist/components/QueryEditor/visual-query-builder/Preview.js +0 -28
  419. package/dist/components/QueryEditor/visual-query-builder/Preview.js.map +0 -1
  420. package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +0 -13
  421. package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +0 -1
  422. package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +0 -34
  423. package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +0 -1
  424. package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js +0 -19
  425. package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +0 -1
  426. package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js +0 -35
  427. package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +0 -1
  428. package/dist/components/QueryEditor/visual-query-builder/SelectRow.js +0 -68
  429. package/dist/components/QueryEditor/visual-query-builder/SelectRow.js.map +0 -1
  430. package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js +0 -38
  431. package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js.map +0 -1
  432. package/dist/components/QueryEditor/visual-query-builder/WhereRow.js +0 -67
  433. package/dist/components/QueryEditor/visual-query-builder/WhereRow.js.map +0 -1
  434. package/dist/components/QueryEditor/visual-query-builder/index.js +0 -6
  435. package/dist/components/QueryEditor/visual-query-builder/index.js.map +0 -1
  436. package/dist/components/QueryEditorRow/QueryEditorRow.js +0 -16
  437. package/dist/components/QueryEditorRow/QueryEditorRow.js.map +0 -1
  438. package/dist/components/SQLEditor/components/SQLEditor.js +0 -330
  439. package/dist/components/SQLEditor/components/SQLEditor.js.map +0 -1
  440. package/dist/components/SQLEditor/index.js +0 -25
  441. package/dist/components/SQLEditor/index.js.map +0 -1
  442. package/dist/components/SQLEditor/mocks/Monaco.js +0 -23
  443. package/dist/components/SQLEditor/mocks/Monaco.js.map +0 -1
  444. package/dist/components/SQLEditor/mocks/TextModel.js +0 -22
  445. package/dist/components/SQLEditor/mocks/TextModel.js.map +0 -1
  446. package/dist/components/SQLEditor/mocks/queries/multiLineFullQuery.js +0 -216
  447. package/dist/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +0 -1
  448. package/dist/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js +0 -231
  449. package/dist/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +0 -1
  450. package/dist/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js +0 -271
  451. package/dist/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +0 -1
  452. package/dist/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js +0 -8
  453. package/dist/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +0 -1
  454. package/dist/components/SQLEditor/mocks/queries/singleLineFullQuery.js +0 -196
  455. package/dist/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +0 -1
  456. package/dist/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js +0 -211
  457. package/dist/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +0 -1
  458. package/dist/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js +0 -251
  459. package/dist/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +0 -1
  460. package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueries.js +0 -386
  461. package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +0 -1
  462. package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js +0 -416
  463. package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +0 -1
  464. package/dist/components/SQLEditor/mocks/testData.js +0 -22
  465. package/dist/components/SQLEditor/mocks/testData.js.map +0 -1
  466. package/dist/components/SQLEditor/standardSql/definition.js +0 -13
  467. package/dist/components/SQLEditor/standardSql/definition.js.map +0 -1
  468. package/dist/components/SQLEditor/standardSql/getStandardSuggestions.js +0 -26
  469. package/dist/components/SQLEditor/standardSql/getStandardSuggestions.js.map +0 -1
  470. package/dist/components/SQLEditor/standardSql/getStatementPosition.js +0 -24
  471. package/dist/components/SQLEditor/standardSql/getStatementPosition.js.map +0 -1
  472. package/dist/components/SQLEditor/standardSql/language.js +0 -875
  473. package/dist/components/SQLEditor/standardSql/language.js.map +0 -1
  474. package/dist/components/SQLEditor/standardSql/macros.js +0 -166
  475. package/dist/components/SQLEditor/standardSql/macros.js.map +0 -1
  476. package/dist/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +0 -30
  477. package/dist/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +0 -1
  478. package/dist/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +0 -378
  479. package/dist/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +0 -1
  480. package/dist/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +0 -234
  481. package/dist/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +0 -1
  482. package/dist/components/SQLEditor/standardSql/suggestionsKindRegistry.js +0 -153
  483. package/dist/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +0 -1
  484. package/dist/components/SQLEditor/standardSql/types.js +0 -3
  485. package/dist/components/SQLEditor/standardSql/types.js.map +0 -1
  486. package/dist/components/SQLEditor/test-utils/index.js +0 -11
  487. package/dist/components/SQLEditor/test-utils/index.js.map +0 -1
  488. package/dist/components/SQLEditor/test-utils/statementPosition.js +0 -40
  489. package/dist/components/SQLEditor/test-utils/statementPosition.js.map +0 -1
  490. package/dist/components/SQLEditor/test-utils/types.js +0 -3
  491. package/dist/components/SQLEditor/test-utils/types.js.map +0 -1
  492. package/dist/components/SQLEditor/types.js +0 -139
  493. package/dist/components/SQLEditor/types.js.map +0 -1
  494. package/dist/components/SQLEditor/utils/LinkedToken.js +0 -147
  495. package/dist/components/SQLEditor/utils/LinkedToken.js.map +0 -1
  496. package/dist/components/SQLEditor/utils/commands.js +0 -8
  497. package/dist/components/SQLEditor/utils/commands.js.map +0 -1
  498. package/dist/components/SQLEditor/utils/debugger.js +0 -14
  499. package/dist/components/SQLEditor/utils/debugger.js.map +0 -1
  500. package/dist/components/SQLEditor/utils/getSuggestionKind.js +0 -18
  501. package/dist/components/SQLEditor/utils/getSuggestionKind.js.map +0 -1
  502. package/dist/components/SQLEditor/utils/linkedTokenBuilder.js +0 -46
  503. package/dist/components/SQLEditor/utils/linkedTokenBuilder.js.map +0 -1
  504. package/dist/components/SQLEditor/utils/toCompletionItem.js +0 -10
  505. package/dist/components/SQLEditor/utils/toCompletionItem.js.map +0 -1
  506. package/dist/components/SQLEditor/utils/tokenUtils.js +0 -72
  507. package/dist/components/SQLEditor/utils/tokenUtils.js.map +0 -1
  508. package/dist/components/SQLEditor/utils/types.js +0 -3
  509. package/dist/components/SQLEditor/utils/types.js.map +0 -1
  510. package/dist/components/Segment/Segment.js +0 -19
  511. package/dist/components/Segment/Segment.js.map +0 -1
  512. package/dist/components/VisualQueryBuilder/QueryModellerBase.js +0 -35
  513. package/dist/components/VisualQueryBuilder/QueryModellerBase.js.map +0 -1
  514. package/dist/components/VisualQueryBuilder/components/LabelFilterItem.js +0 -125
  515. package/dist/components/VisualQueryBuilder/components/LabelFilterItem.js.map +0 -1
  516. package/dist/components/VisualQueryBuilder/components/LabelFilters.js +0 -37
  517. package/dist/components/VisualQueryBuilder/components/LabelFilters.js.map +0 -1
  518. package/dist/components/VisualQueryBuilder/components/OperationEditor.js +0 -41
  519. package/dist/components/VisualQueryBuilder/components/OperationEditor.js.map +0 -1
  520. package/dist/components/VisualQueryBuilder/components/OperationEditorBody.js +0 -181
  521. package/dist/components/VisualQueryBuilder/components/OperationEditorBody.js.map +0 -1
  522. package/dist/components/VisualQueryBuilder/components/OperationExplainedBox.js +0 -64
  523. package/dist/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +0 -1
  524. package/dist/components/VisualQueryBuilder/components/OperationHeader.js +0 -68
  525. package/dist/components/VisualQueryBuilder/components/OperationHeader.js.map +0 -1
  526. package/dist/components/VisualQueryBuilder/components/OperationInfoButton.js +0 -71
  527. package/dist/components/VisualQueryBuilder/components/OperationInfoButton.js.map +0 -1
  528. package/dist/components/VisualQueryBuilder/components/OperationList.js +0 -132
  529. package/dist/components/VisualQueryBuilder/components/OperationList.js.map +0 -1
  530. package/dist/components/VisualQueryBuilder/components/OperationListExplained.js +0 -22
  531. package/dist/components/VisualQueryBuilder/components/OperationListExplained.js.map +0 -1
  532. package/dist/components/VisualQueryBuilder/components/OperationParamEditor.js +0 -71
  533. package/dist/components/VisualQueryBuilder/components/OperationParamEditor.js.map +0 -1
  534. package/dist/components/VisualQueryBuilder/components/OperationsEditorRow.js +0 -24
  535. package/dist/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +0 -1
  536. package/dist/components/VisualQueryBuilder/components/QueryBuilderHints.js +0 -54
  537. package/dist/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +0 -1
  538. package/dist/components/VisualQueryBuilder/components/QueryEditorModeToggle.js +0 -17
  539. package/dist/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +0 -1
  540. package/dist/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +0 -32
  541. package/dist/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +0 -1
  542. package/dist/components/VisualQueryBuilder/components/QueryOptionGroup.js +0 -81
  543. package/dist/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +0 -1
  544. package/dist/components/VisualQueryBuilder/components/RawQuery.js +0 -25
  545. package/dist/components/VisualQueryBuilder/components/RawQuery.js.map +0 -1
  546. package/dist/components/VisualQueryBuilder/index.js +0 -29
  547. package/dist/components/VisualQueryBuilder/index.js.map +0 -1
  548. package/dist/components/VisualQueryBuilder/types.js +0 -10
  549. package/dist/components/VisualQueryBuilder/types.js.map +0 -1
  550. package/dist/components/index.js +0 -30
  551. package/dist/components/index.js.map +0 -1
  552. package/dist/datasource/SqlDatasource.js +0 -161
  553. package/dist/datasource/SqlDatasource.js.map +0 -1
  554. package/dist/datasource/constants.js +0 -19
  555. package/dist/datasource/constants.js.map +0 -1
  556. package/dist/hooks/useDebounce.js +0 -21
  557. package/dist/hooks/useDebounce.js.map +0 -1
  558. package/dist/index.js +0 -13
  559. package/dist/index.js.map +0 -1
  560. package/dist/src/components/AsyncButtonCascader/AsyncButtonCascader.d.ts +0 -21
  561. package/dist/src/components/Cascader/Cascader.d.ts +0 -1
  562. package/dist/src/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.d.ts +0 -8
  563. package/dist/src/components/ConfigEditor/AdvancedSettings/index.d.ts +0 -1
  564. package/dist/src/components/ConfigEditor/Auth/Auth.d.ts +0 -18
  565. package/dist/src/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.d.ts +0 -14
  566. package/dist/src/components/ConfigEditor/Auth/auth-method/BasicAuth.d.ts +0 -17
  567. package/dist/src/components/ConfigEditor/Auth/custom-headers/CustomHeader.d.ts +0 -10
  568. package/dist/src/components/ConfigEditor/Auth/custom-headers/CustomHeaders.d.ts +0 -8
  569. package/dist/src/components/ConfigEditor/Auth/index.d.ts +0 -4
  570. package/dist/src/components/ConfigEditor/Auth/styles.d.ts +0 -4
  571. package/dist/src/components/ConfigEditor/Auth/tls/SelfSignedCertificate.d.ts +0 -13
  572. package/dist/src/components/ConfigEditor/Auth/tls/SkipTLSVerification.d.ts +0 -7
  573. package/dist/src/components/ConfigEditor/Auth/tls/TLSClientAuth.d.ts +0 -20
  574. package/dist/src/components/ConfigEditor/Auth/tls/TLSSettings.d.ts +0 -11
  575. package/dist/src/components/ConfigEditor/Auth/tls/TLSSettingsSection.d.ts +0 -9
  576. package/dist/src/components/ConfigEditor/Auth/types.d.ts +0 -28
  577. package/dist/src/components/ConfigEditor/Auth/utils.d.ts +0 -12
  578. package/dist/src/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.d.ts +0 -8
  579. package/dist/src/components/ConfigEditor/ConfigSection/ConfigSection.d.ts +0 -5
  580. package/dist/src/components/ConfigEditor/ConfigSection/ConfigSubSection.d.ts +0 -5
  581. package/dist/src/components/ConfigEditor/ConfigSection/GenericConfigSection.d.ts +0 -10
  582. package/dist/src/components/ConfigEditor/ConfigSection/index.d.ts +0 -3
  583. package/dist/src/components/ConfigEditor/Connection/ConnectionSettings.d.ts +0 -13
  584. package/dist/src/components/ConfigEditor/Connection/index.d.ts +0 -1
  585. package/dist/src/components/ConfigEditor/DataSourceDescription.d.ts +0 -9
  586. package/dist/src/components/ConfigEditor/SecureSocksProxyToggle.d.ts +0 -10
  587. package/dist/src/components/ConfigEditor/index.d.ts +0 -9
  588. package/dist/src/components/ConfigEditor/types.d.ts +0 -15
  589. package/dist/src/components/CustomHeadersSettings/CustomHeadersSettings.d.ts +0 -27
  590. package/dist/src/components/DataLinks/DataLink.d.ts +0 -13
  591. package/dist/src/components/DataLinks/DataLinks.d.ts +0 -8
  592. package/dist/src/components/DataLinks/index.d.ts +0 -3
  593. package/dist/src/components/DataLinks/types.d.ts +0 -7
  594. package/dist/src/components/DataSourcePicker/DataSourcePicker.d.ts +0 -34
  595. package/dist/src/components/DatePicker/DatePicker.d.ts +0 -8
  596. package/dist/src/components/DatePicker/styles.d.ts +0 -11
  597. package/dist/src/components/DatePickerWithInput/DatePickerWithInput.d.ts +0 -9
  598. package/dist/src/components/DebounceInput/DebounceInput.d.ts +0 -8
  599. package/dist/src/components/Plugins/PluginSignatureBadge.d.ts +0 -12
  600. package/dist/src/components/QueryEditor/AccessoryButton.d.ts +0 -6
  601. package/dist/src/components/QueryEditor/ConfirmModal.d.ts +0 -9
  602. package/dist/src/components/QueryEditor/DatasetSelector.d.ts +0 -13
  603. package/dist/src/components/QueryEditor/EditorField.d.ts +0 -12
  604. package/dist/src/components/QueryEditor/EditorFieldGroup.d.ts +0 -6
  605. package/dist/src/components/QueryEditor/EditorHeader.d.ts +0 -6
  606. package/dist/src/components/QueryEditor/EditorList.d.ts +0 -8
  607. package/dist/src/components/QueryEditor/EditorRow.d.ts +0 -6
  608. package/dist/src/components/QueryEditor/EditorRows.d.ts +0 -6
  609. package/dist/src/components/QueryEditor/EditorStack.d.ts +0 -13
  610. package/dist/src/components/QueryEditor/EditorSwitch.d.ts +0 -3
  611. package/dist/src/components/QueryEditor/FlexItem.d.ts +0 -7
  612. package/dist/src/components/QueryEditor/InlineSelect.d.ts +0 -7
  613. package/dist/src/components/QueryEditor/InputGroup.d.ts +0 -10
  614. package/dist/src/components/QueryEditor/QueryEditor.d.ts +0 -8
  615. package/dist/src/components/QueryEditor/QueryHeader.d.ts +0 -17
  616. package/dist/src/components/QueryEditor/RunQueryButton.d.ts +0 -13
  617. package/dist/src/components/QueryEditor/Space.d.ts +0 -14
  618. package/dist/src/components/QueryEditor/TableSelector.d.ts +0 -13
  619. package/dist/src/components/QueryEditor/defaults.d.ts +0 -3
  620. package/dist/src/components/QueryEditor/expressions.d.ts +0 -50
  621. package/dist/src/components/QueryEditor/index.d.ts +0 -17
  622. package/dist/src/components/QueryEditor/query-editor-raw/QueryEditorRaw.d.ts +0 -15
  623. package/dist/src/components/QueryEditor/query-editor-raw/QueryToolbox.d.ts +0 -11
  624. package/dist/src/components/QueryEditor/query-editor-raw/QueryValidator.d.ts +0 -10
  625. package/dist/src/components/QueryEditor/query-editor-raw/RawEditor.d.ts +0 -10
  626. package/dist/src/components/QueryEditor/types.d.ts +0 -149
  627. package/dist/src/components/QueryEditor/utils/formatSQL.d.ts +0 -1
  628. package/dist/src/components/QueryEditor/utils/sql.utils.d.ts +0 -14
  629. package/dist/src/components/QueryEditor/utils/useSqlChange.d.ts +0 -10
  630. package/dist/src/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.d.ts +0 -7
  631. package/dist/src/components/QueryEditor/visual-query-builder/EditorField.d.ts +0 -11
  632. package/dist/src/components/QueryEditor/visual-query-builder/EditorRow.d.ts +0 -6
  633. package/dist/src/components/QueryEditor/visual-query-builder/EditorRows.d.ts +0 -6
  634. package/dist/src/components/QueryEditor/visual-query-builder/GroupByRow.d.ts +0 -10
  635. package/dist/src/components/QueryEditor/visual-query-builder/OrderByRow.d.ts +0 -11
  636. package/dist/src/components/QueryEditor/visual-query-builder/Preview.d.ts +0 -6
  637. package/dist/src/components/QueryEditor/visual-query-builder/SQLGroupByRow.d.ts +0 -12
  638. package/dist/src/components/QueryEditor/visual-query-builder/SQLOrderByRow.d.ts +0 -12
  639. package/dist/src/components/QueryEditor/visual-query-builder/SQLSelectRow.d.ts +0 -12
  640. package/dist/src/components/QueryEditor/visual-query-builder/SQLWhereRow.d.ts +0 -12
  641. package/dist/src/components/QueryEditor/visual-query-builder/SelectRow.d.ts +0 -11
  642. package/dist/src/components/QueryEditor/visual-query-builder/VisualEditor.d.ts +0 -13
  643. package/dist/src/components/QueryEditor/visual-query-builder/WhereRow.d.ts +0 -10
  644. package/dist/src/components/QueryEditor/visual-query-builder/index.d.ts +0 -1
  645. package/dist/src/components/QueryEditorRow/QueryEditorRow.d.ts +0 -8
  646. package/dist/src/components/SQLEditor/components/SQLEditor.d.ts +0 -29
  647. package/dist/src/components/SQLEditor/index.d.ts +0 -7
  648. package/dist/src/components/SQLEditor/mocks/Monaco.d.ts +0 -3
  649. package/dist/src/components/SQLEditor/mocks/TextModel.d.ts +0 -7
  650. package/dist/src/components/SQLEditor/mocks/queries/multiLineFullQuery.d.ts +0 -2
  651. package/dist/src/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.d.ts +0 -2
  652. package/dist/src/components/SQLEditor/mocks/queries/multiLineMultipleColumns.d.ts +0 -2
  653. package/dist/src/components/SQLEditor/mocks/queries/singleLineEmptyQuery.d.ts +0 -2
  654. package/dist/src/components/SQLEditor/mocks/queries/singleLineFullQuery.d.ts +0 -2
  655. package/dist/src/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.d.ts +0 -2
  656. package/dist/src/components/SQLEditor/mocks/queries/singleLineMultipleColumns.d.ts +0 -2
  657. package/dist/src/components/SQLEditor/mocks/queries/singleLineTwoQueries.d.ts +0 -2
  658. package/dist/src/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.d.ts +0 -2
  659. package/dist/src/components/SQLEditor/standardSql/definition.d.ts +0 -3
  660. package/dist/src/components/SQLEditor/standardSql/getStandardSuggestions.d.ts +0 -6
  661. package/dist/src/components/SQLEditor/standardSql/getStatementPosition.d.ts +0 -5
  662. package/dist/src/components/SQLEditor/standardSql/language.d.ts +0 -23
  663. package/dist/src/components/SQLEditor/standardSql/macros.d.ts +0 -2
  664. package/dist/src/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.d.ts +0 -4
  665. package/dist/src/components/SQLEditor/standardSql/standardSuggestionsRegistry.d.ts +0 -7
  666. package/dist/src/components/SQLEditor/standardSql/statementPositionResolversRegistry.d.ts +0 -2
  667. package/dist/src/components/SQLEditor/standardSql/suggestionsKindRegistry.d.ts +0 -7
  668. package/dist/src/components/SQLEditor/standardSql/types.d.ts +0 -33
  669. package/dist/src/components/SQLEditor/test-utils/index.d.ts +0 -7
  670. package/dist/src/components/SQLEditor/test-utils/statementPosition.d.ts +0 -3
  671. package/dist/src/components/SQLEditor/test-utils/types.d.ts +0 -12
  672. package/dist/src/components/SQLEditor/types.d.ts +0 -249
  673. package/dist/src/components/SQLEditor/utils/LinkedToken.d.ts +0 -29
  674. package/dist/src/components/SQLEditor/utils/commands.d.ts +0 -4
  675. package/dist/src/components/SQLEditor/utils/debugger.d.ts +0 -5
  676. package/dist/src/components/SQLEditor/utils/getSuggestionKind.d.ts +0 -7
  677. package/dist/src/components/SQLEditor/utils/linkedTokenBuilder.d.ts +0 -4
  678. package/dist/src/components/SQLEditor/utils/toCompletionItem.d.ts +0 -2
  679. package/dist/src/components/SQLEditor/utils/tokenUtils.d.ts +0 -14
  680. package/dist/src/components/SQLEditor/utils/types.d.ts +0 -11
  681. package/dist/src/components/Segment/Segment.d.ts +0 -8
  682. package/dist/src/components/VisualQueryBuilder/QueryModellerBase.d.ts +0 -18
  683. package/dist/src/components/VisualQueryBuilder/components/LabelFilterItem.d.ts +0 -18
  684. package/dist/src/components/VisualQueryBuilder/components/LabelFilters.d.ts +0 -14
  685. package/dist/src/components/VisualQueryBuilder/components/OperationEditor.d.ts +0 -20
  686. package/dist/src/components/VisualQueryBuilder/components/OperationEditorBody.d.ts +0 -23
  687. package/dist/src/components/VisualQueryBuilder/components/OperationExplainedBox.d.ts +0 -7
  688. package/dist/src/components/VisualQueryBuilder/components/OperationHeader.d.ts +0 -15
  689. package/dist/src/components/VisualQueryBuilder/components/OperationInfoButton.d.ts +0 -9
  690. package/dist/src/components/VisualQueryBuilder/components/OperationList.d.ts +0 -15
  691. package/dist/src/components/VisualQueryBuilder/components/OperationListExplained.d.ts +0 -17
  692. package/dist/src/components/VisualQueryBuilder/components/OperationParamEditor.d.ts +0 -4
  693. package/dist/src/components/VisualQueryBuilder/components/OperationsEditorRow.d.ts +0 -2
  694. package/dist/src/components/VisualQueryBuilder/components/QueryBuilderHints.d.ts +0 -20
  695. package/dist/src/components/VisualQueryBuilder/components/QueryEditorModeToggle.d.ts +0 -8
  696. package/dist/src/components/VisualQueryBuilder/components/QueryHeaderSwitch.d.ts +0 -7
  697. package/dist/src/components/VisualQueryBuilder/components/QueryOptionGroup.d.ts +0 -9
  698. package/dist/src/components/VisualQueryBuilder/components/RawQuery.d.ts +0 -12
  699. package/dist/src/components/VisualQueryBuilder/index.d.ts +0 -13
  700. package/dist/src/components/VisualQueryBuilder/types.d.ts +0 -91
  701. package/dist/src/components/index.d.ts +0 -15
  702. package/dist/src/datasource/SqlDatasource.d.ts +0 -62
  703. package/dist/src/datasource/constants.d.ts +0 -1
  704. package/dist/src/hooks/useDebounce.d.ts +0 -2
  705. package/dist/src/index.d.ts +0 -7
  706. package/dist/src/test/mocks/DataQuery.d.ts +0 -2
  707. package/dist/src/test/mocks/Datasource.d.ts +0 -40
  708. package/dist/src/test/mocks/Plugin.d.ts +0 -10
  709. package/dist/src/test/mocks/QueryEditorProps.d.ts +0 -4
  710. package/dist/src/test/mocks/index.d.ts +0 -5
  711. package/dist/src/test/mocks/utils.d.ts +0 -18
  712. package/dist/src/utils/changeset/functions.d.ts +0 -3
  713. package/dist/src/utils/changeset/index.d.ts +0 -2
  714. package/dist/test/mocks/DataQuery.js +0 -14
  715. package/dist/test/mocks/DataQuery.js.map +0 -1
  716. package/dist/test/mocks/Datasource.js +0 -78
  717. package/dist/test/mocks/Datasource.js.map +0 -1
  718. package/dist/test/mocks/Plugin.js +0 -105
  719. package/dist/test/mocks/Plugin.js.map +0 -1
  720. package/dist/test/mocks/QueryEditorProps.js +0 -46
  721. package/dist/test/mocks/QueryEditorProps.js.map +0 -1
  722. package/dist/test/mocks/index.js +0 -9
  723. package/dist/test/mocks/index.js.map +0 -1
  724. package/dist/test/mocks/utils.js +0 -48
  725. package/dist/test/mocks/utils.js.map +0 -1
  726. package/dist/utils/changeset/functions.js +0 -11
  727. package/dist/utils/changeset/functions.js.map +0 -1
  728. package/dist/utils/changeset/index.js +0 -99
  729. package/dist/utils/changeset/index.js.map +0 -1
@@ -0,0 +1,172 @@
1
+ import React, { useState, useCallback } from 'react';
2
+ import { useCopyToClipboard } from 'react-use';
3
+ import '@grafana/data';
4
+ import { ConfirmModal } from './ConfirmModal.js';
5
+ import { DatasetSelector } from './DatasetSelector.js';
6
+ import { TableSelector } from './TableSelector.js';
7
+ import { InlineSwitch, RadioButtonGroup } from '@grafana/ui';
8
+ import { EditorMode, QUERY_FORMAT_OPTIONS, QueryFormat } from './types.js';
9
+ import { getRawSqlFn } from './utils/sql.utils.js';
10
+ import { EditorField } from './EditorField.js';
11
+ import { EditorHeader } from './EditorHeader.js';
12
+ import { EditorRow } from './EditorRow.js';
13
+ import { FlexItem } from './FlexItem.js';
14
+ import { InlineSelect } from './InlineSelect.js';
15
+ import { Space } from './Space.js';
16
+ import { RunQueryButton } from './RunQueryButton.js';
17
+
18
+ const editorModes = [
19
+ { label: "Builder", value: EditorMode.Builder },
20
+ { label: "Code", value: EditorMode.Code }
21
+ ];
22
+ function QueryHeader({
23
+ db,
24
+ defaultDataset,
25
+ enableDatasets,
26
+ query,
27
+ queryRowFilter,
28
+ onChange,
29
+ onRunQuery,
30
+ onQueryRowChange,
31
+ isQueryRunnable,
32
+ labels = /* @__PURE__ */ new Map([["dataset", "Dataset"]])
33
+ }) {
34
+ const { editorMode } = query;
35
+ const [_, copyToClipboard] = useCopyToClipboard();
36
+ const [showConfirm, setShowConfirm] = useState(false);
37
+ const toRawSql = getRawSqlFn(db);
38
+ const onEditorModeChange = useCallback(
39
+ (newEditorMode) => {
40
+ if (editorMode === EditorMode.Code) {
41
+ setShowConfirm(true);
42
+ return;
43
+ }
44
+ onChange({ ...query, editorMode: newEditorMode });
45
+ },
46
+ [editorMode, onChange, query]
47
+ );
48
+ const onFormatChange = (e) => {
49
+ const next = { ...query, format: e.value !== undefined ? e.value : QueryFormat.Table };
50
+ onChange(next);
51
+ };
52
+ const onDatasetChange = (e) => {
53
+ if (e.value === query.dataset) {
54
+ return;
55
+ }
56
+ const next = {
57
+ ...query,
58
+ dataset: e.value,
59
+ table: undefined,
60
+ sql: undefined,
61
+ rawSql: ""
62
+ };
63
+ onChange(next);
64
+ };
65
+ const onTableChange = (e) => {
66
+ if (e.value === query.table) {
67
+ return;
68
+ }
69
+ const next = {
70
+ ...query,
71
+ table: e.value,
72
+ sql: undefined,
73
+ rawSql: ""
74
+ };
75
+ onChange(next);
76
+ };
77
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(EditorHeader, null, /* @__PURE__ */ React.createElement(
78
+ InlineSelect,
79
+ {
80
+ label: "Format",
81
+ value: query.format,
82
+ placeholder: "Select format",
83
+ menuShouldPortal: true,
84
+ onChange: onFormatChange,
85
+ options: QUERY_FORMAT_OPTIONS
86
+ }
87
+ ), editorMode === EditorMode.Builder && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
88
+ InlineSwitch,
89
+ {
90
+ id: "sql-filter",
91
+ label: "Filter",
92
+ transparent: true,
93
+ showLabel: true,
94
+ value: queryRowFilter.filter,
95
+ onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, filter: ev.target.checked })
96
+ }
97
+ ), /* @__PURE__ */ React.createElement(
98
+ InlineSwitch,
99
+ {
100
+ id: "sql-group",
101
+ label: "Group",
102
+ transparent: true,
103
+ showLabel: true,
104
+ value: queryRowFilter.group,
105
+ onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, group: ev.target.checked })
106
+ }
107
+ ), /* @__PURE__ */ React.createElement(
108
+ InlineSwitch,
109
+ {
110
+ id: "sql-order",
111
+ label: "Order",
112
+ transparent: true,
113
+ showLabel: true,
114
+ value: queryRowFilter.order,
115
+ onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, order: ev.target.checked })
116
+ }
117
+ ), /* @__PURE__ */ React.createElement(
118
+ InlineSwitch,
119
+ {
120
+ id: "sql-preview",
121
+ label: "Preview",
122
+ transparent: true,
123
+ showLabel: true,
124
+ value: queryRowFilter.preview,
125
+ onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, preview: ev.target.checked })
126
+ }
127
+ )), /* @__PURE__ */ React.createElement(FlexItem, { grow: 1 }), /* @__PURE__ */ React.createElement(RunQueryButton, { queryInvalid: !isQueryRunnable, onClick: () => onRunQuery() }), /* @__PURE__ */ React.createElement(RadioButtonGroup, { options: editorModes, size: "sm", value: editorMode, onChange: onEditorModeChange }), /* @__PURE__ */ React.createElement(
128
+ ConfirmModal,
129
+ {
130
+ isOpen: showConfirm,
131
+ onCopy: () => {
132
+ setShowConfirm(false);
133
+ copyToClipboard(query.rawSql);
134
+ onChange({
135
+ ...query,
136
+ rawSql: toRawSql(query),
137
+ editorMode: EditorMode.Builder
138
+ });
139
+ },
140
+ onDiscard: () => {
141
+ setShowConfirm(false);
142
+ onChange({
143
+ ...query,
144
+ rawSql: toRawSql(query),
145
+ editorMode: EditorMode.Builder
146
+ });
147
+ },
148
+ onCancel: () => setShowConfirm(false)
149
+ }
150
+ )), editorMode === EditorMode.Builder && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Space, { v: 0.5 }), /* @__PURE__ */ React.createElement(EditorRow, null, enableDatasets === true && /* @__PURE__ */ React.createElement(EditorField, { label: labels.get("dataset") || "Dataset", width: 25 }, /* @__PURE__ */ React.createElement(
151
+ DatasetSelector,
152
+ {
153
+ db,
154
+ dataset: defaultDataset,
155
+ value: query.dataset === undefined ? null : query.dataset,
156
+ onChange: onDatasetChange
157
+ }
158
+ )), /* @__PURE__ */ React.createElement(EditorField, { label: "Table", width: 25 }, /* @__PURE__ */ React.createElement(
159
+ TableSelector,
160
+ {
161
+ db,
162
+ dataset: query.dataset || defaultDataset,
163
+ query,
164
+ value: query.table === undefined ? null : query.table,
165
+ onChange: onTableChange,
166
+ applyDefault: true
167
+ }
168
+ )))));
169
+ }
170
+
171
+ export { QueryHeader };
172
+ //# sourceMappingURL=QueryHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryHeader.js","sources":["../../../../src/components/QueryEditor/QueryHeader.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { useCopyToClipboard } from 'react-use';\n\nimport { type SelectableValue } from '@grafana/data';\n\nimport { ConfirmModal } from './ConfirmModal';\nimport { DatasetSelector } from './DatasetSelector';\nimport { TableSelector } from './TableSelector';\nimport { InlineSwitch, RadioButtonGroup } from '@grafana/ui';\nimport { type QueryWithDefaults } from './defaults';\nimport { EditorField } from './EditorField';\nimport { EditorHeader } from './EditorHeader';\nimport { EditorRow } from './EditorRow';\nimport { FlexItem } from './FlexItem';\nimport { InlineSelect } from './InlineSelect';\nimport { Space } from './Space';\nimport { RunQueryButton } from './RunQueryButton';\nimport { type DB, type SQLQuery, type QueryRowFilter, EditorMode, QueryFormat, QUERY_FORMAT_OPTIONS } from './types';\nimport { getRawSqlFn } from './utils/sql.utils';\n\ninterface QueryHeaderProps {\n db: DB;\n defaultDataset: string;\n enableDatasets: boolean;\n query: QueryWithDefaults;\n onChange: (query: SQLQuery) => void;\n onRunQuery: () => void;\n onQueryRowChange: (queryRowFilter: QueryRowFilter) => void;\n queryRowFilter: QueryRowFilter;\n isQueryRunnable: boolean;\n labels?: Map<string, string>;\n}\n\nconst editorModes = [\n { label: 'Builder', value: EditorMode.Builder },\n { label: 'Code', value: EditorMode.Code },\n];\n\nexport function QueryHeader({\n db,\n defaultDataset,\n enableDatasets,\n query,\n queryRowFilter,\n onChange,\n onRunQuery,\n onQueryRowChange,\n isQueryRunnable,\n labels = new Map([['dataset', 'Dataset']]),\n}: QueryHeaderProps) {\n const { editorMode } = query;\n const [_, copyToClipboard] = useCopyToClipboard();\n const [showConfirm, setShowConfirm] = useState(false);\n const toRawSql = getRawSqlFn(db);\n\n const onEditorModeChange = useCallback(\n (newEditorMode: EditorMode) => {\n if (editorMode === EditorMode.Code) {\n setShowConfirm(true);\n return;\n }\n onChange({ ...query, editorMode: newEditorMode });\n },\n [editorMode, onChange, query]\n );\n\n const onFormatChange = (e: SelectableValue) => {\n const next = { ...query, format: e.value !== undefined ? e.value : QueryFormat.Table };\n onChange(next);\n };\n\n const onDatasetChange = (e: SelectableValue) => {\n if (e.value === query.dataset) {\n return;\n }\n\n const next = {\n ...query,\n dataset: e.value,\n table: undefined,\n sql: undefined,\n rawSql: '',\n };\n\n onChange(next);\n };\n\n const onTableChange = (e: SelectableValue) => {\n if (e.value === query.table) {\n return;\n }\n\n const next: SQLQuery = {\n ...query,\n table: e.value,\n sql: undefined,\n rawSql: '',\n };\n onChange(next);\n };\n\n return (\n <>\n <EditorHeader>\n <InlineSelect\n label=\"Format\"\n value={query.format}\n placeholder=\"Select format\"\n menuShouldPortal\n onChange={onFormatChange}\n options={QUERY_FORMAT_OPTIONS}\n />\n {editorMode === EditorMode.Builder && (\n <>\n <InlineSwitch\n id=\"sql-filter\"\n label=\"Filter\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.filter}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, filter: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-group\"\n label=\"Group\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.group}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, group: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-order\"\n label=\"Order\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.order}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, order: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-preview\"\n label=\"Preview\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.preview}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, preview: ev.target.checked })\n }\n />\n </>\n )}\n\n <FlexItem grow={1} />\n\n <RunQueryButton queryInvalid={!isQueryRunnable} onClick={() => onRunQuery()} />\n\n <RadioButtonGroup options={editorModes} size=\"sm\" value={editorMode} onChange={onEditorModeChange} />\n\n <ConfirmModal\n isOpen={showConfirm}\n onCopy={() => {\n setShowConfirm(false);\n copyToClipboard(query.rawSql!);\n onChange({\n ...query,\n rawSql: toRawSql(query),\n editorMode: EditorMode.Builder,\n });\n }}\n onDiscard={() => {\n setShowConfirm(false);\n onChange({\n ...query,\n rawSql: toRawSql(query),\n editorMode: EditorMode.Builder,\n });\n }}\n onCancel={() => setShowConfirm(false)}\n />\n </EditorHeader>\n\n {editorMode === EditorMode.Builder && (\n <>\n <Space v={0.5} />\n\n <EditorRow>\n {enableDatasets === true && (\n <EditorField label={labels.get('dataset') || 'Dataset'} width={25}>\n <DatasetSelector\n db={db}\n dataset={defaultDataset}\n value={query.dataset === undefined ? null : query.dataset}\n onChange={onDatasetChange}\n />\n </EditorField>\n )}\n\n <EditorField label=\"Table\" width={25}>\n <TableSelector\n db={db}\n dataset={query.dataset || defaultDataset}\n query={query}\n value={query.table === undefined ? null : query.table}\n onChange={onTableChange}\n applyDefault\n />\n </EditorField>\n </EditorRow>\n </>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { Tooltip, Button } from '@grafana/ui';
3
+
4
+ const RunQueryButton = ({
5
+ ariaLabel = "Query editor Run button",
6
+ queryRunning = false,
7
+ queryInvalid = false,
8
+ invalidQueryTooltip,
9
+ disabled = false,
10
+ onClick,
11
+ dataTestId
12
+ }) => {
13
+ let icon = queryInvalid ? "exclamation-triangle" : undefined;
14
+ if (queryRunning) {
15
+ icon = "fa fa-spinner";
16
+ }
17
+ const RunButton = /* @__PURE__ */ React.createElement(
18
+ Button,
19
+ {
20
+ "aria-label": ariaLabel,
21
+ size: "sm",
22
+ variant: "secondary",
23
+ icon,
24
+ disabled: disabled || queryRunning,
25
+ onClick,
26
+ "data-testid": dataTestId
27
+ },
28
+ "Run query"
29
+ );
30
+ return queryInvalid ? /* @__PURE__ */ React.createElement(
31
+ Tooltip,
32
+ {
33
+ theme: "error",
34
+ placement: "top",
35
+ content: invalidQueryTooltip != null ? invalidQueryTooltip : /* @__PURE__ */ React.createElement(React.Fragment, null, "Your query is invalid. Check below for details. ", /* @__PURE__ */ React.createElement("br", null), "However, you can still run this query.")
36
+ },
37
+ RunButton
38
+ ) : RunButton;
39
+ };
40
+
41
+ export { RunQueryButton };
42
+ //# sourceMappingURL=RunQueryButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunQueryButton.js","sources":["../../../../src/components/QueryEditor/RunQueryButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, type IconName, type PopoverContent, Tooltip } from '@grafana/ui';\n\ntype RunQueryButtonProps = {\n ariaLabel?: string;\n queryInvalid?: boolean;\n invalidQueryTooltip?: PopoverContent;\n disabled?: boolean;\n queryRunning?: boolean;\n onClick: () => void;\n dataTestId?: string;\n};\n\nexport const RunQueryButton = ({\n ariaLabel = 'Query editor Run button',\n queryRunning = false,\n queryInvalid = false,\n invalidQueryTooltip,\n disabled = false,\n onClick,\n dataTestId,\n}: RunQueryButtonProps) => {\n let icon: IconName | undefined = queryInvalid ? 'exclamation-triangle' : undefined;\n if (queryRunning) {\n icon = 'fa fa-spinner';\n }\n\n const RunButton = (\n <Button\n aria-label={ariaLabel}\n size=\"sm\"\n variant=\"secondary\"\n icon={icon}\n disabled={disabled || queryRunning}\n onClick={onClick}\n data-testid={dataTestId}\n >\n Run query\n </Button>\n );\n\n return queryInvalid ? (\n <Tooltip\n theme=\"error\"\n placement=\"top\"\n content={\n invalidQueryTooltip ?? (\n <>\n Your query is invalid. Check below for details. <br />\n However, you can still run this query.\n </>\n )\n }\n >\n {RunButton}\n </Tooltip>\n ) : (\n RunButton\n );\n};\n"],"names":[],"mappings":";;;AAaO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAY,GAAA,yBAAA;AAAA,EACZ,YAAe,GAAA,KAAA;AAAA,EACf,YAAe,GAAA,KAAA;AAAA,EACf,mBAAA;AAAA,EACA,QAAW,GAAA,KAAA;AAAA,EACX,OAAA;AAAA,EACA;AACF,CAA2B,KAAA;AACzB,EAAI,IAAA,IAAA,GAA6B,eAAe,sBAAyB,GAAA,SAAA;AACzE,EAAA,IAAI,YAAc,EAAA;AAChB,IAAO,IAAA,GAAA,eAAA;AAAA;AAGT,EAAA,MAAM,SACJ,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,IAAK,EAAA,IAAA;AAAA,MACL,OAAQ,EAAA,WAAA;AAAA,MACR,IAAA;AAAA,MACA,UAAU,QAAY,IAAA,YAAA;AAAA,MACtB,OAAA;AAAA,MACA,aAAa,EAAA;AAAA,KAAA;AAAA,IACd;AAAA,GAED;AAGF,EAAA,OAAO,YACL,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,OAAA;AAAA,MACN,SAAU,EAAA,KAAA;AAAA,MACV,SACE,mBACE,IAAA,IAAA,GAAA,mBAAA,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAE,oEACiD,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAG,GAAE,wCAExD;AAAA,KAAA;AAAA,IAIH;AAAA,GAGH,GAAA,SAAA;AAEJ;;;;"}
@@ -0,0 +1,35 @@
1
+ import { css, cx } from '@emotion/css';
2
+ import React from 'react';
3
+ import '@grafana/data';
4
+ import { stylesFactory, useTheme2 } from '@grafana/ui';
5
+
6
+ const Space = (props) => {
7
+ const theme = useTheme2();
8
+ const styles = getStyles(theme, props);
9
+ return /* @__PURE__ */ React.createElement("span", { className: cx(styles.wrapper) });
10
+ };
11
+ Space.defaultProps = {
12
+ v: 0,
13
+ h: 0,
14
+ layout: "block"
15
+ };
16
+ const getStyles = stylesFactory((theme, props) => {
17
+ var _a, _b;
18
+ return {
19
+ wrapper: css([
20
+ {
21
+ paddingRight: theme.spacing((_a = props.h) != null ? _a : 0),
22
+ paddingBottom: theme.spacing((_b = props.v) != null ? _b : 0)
23
+ },
24
+ props.layout === "inline" && {
25
+ display: "inline-block"
26
+ },
27
+ props.layout === "block" && {
28
+ display: "block"
29
+ }
30
+ ])
31
+ };
32
+ });
33
+
34
+ export { Space };
35
+ //# sourceMappingURL=Space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Space.js","sources":["../../../../src/components/QueryEditor/Space.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport React from 'react';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { useTheme2, stylesFactory } from '@grafana/ui';\n\nexport interface SpaceProps {\n v?: number;\n h?: number;\n layout?: 'block' | 'inline';\n}\n\nexport const Space = (props: SpaceProps) => {\n const theme = useTheme2();\n const styles = getStyles(theme, props);\n\n return <span className={cx(styles.wrapper)} />;\n};\n\nSpace.defaultProps = {\n v: 0,\n h: 0,\n layout: 'block',\n};\n\nconst getStyles = stylesFactory((theme: GrafanaTheme2, props: SpaceProps) => ({\n wrapper: css([\n {\n paddingRight: theme.spacing(props.h ?? 0),\n paddingBottom: theme.spacing(props.v ?? 0),\n },\n props.layout === 'inline' && {\n display: 'inline-block',\n },\n props.layout === 'block' && {\n display: 'block',\n },\n ]),\n}));\n"],"names":[],"mappings":";;;;;AAYa,MAAA,KAAA,GAAQ,CAAC,KAAsB,KAAA;AAC1C,EAAA,MAAM,QAAQ,SAAU,EAAA;AACxB,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,EAAO,KAAK,CAAA;AAErC,EAAA,2CAAQ,MAAK,EAAA,EAAA,SAAA,EAAW,EAAG,CAAA,MAAA,CAAO,OAAO,CAAG,EAAA,CAAA;AAC9C;AAEA,KAAA,CAAM,YAAe,GAAA;AAAA,EACnB,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,MAAQ,EAAA;AACV,CAAA;AAEA,MAAM,SAAY,GAAA,aAAA,CAAc,CAAC,KAAA,EAAsB,KAAmB,KAAA;AAzB1E,EAAA,IAAA,EAAA,EAAA,EAAA;AAyB8E,EAAA,OAAA;AAAA,IAC5E,SAAS,GAAI,CAAA;AAAA,MACX;AAAA,QACE,cAAc,KAAM,CAAA,OAAA,CAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,CAAA,KAAN,YAAW,CAAC,CAAA;AAAA,QACxC,eAAe,KAAM,CAAA,OAAA,CAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,CAAA,KAAN,YAAW,CAAC;AAAA,OAC3C;AAAA,MACA,KAAA,CAAM,WAAW,QAAY,IAAA;AAAA,QAC3B,OAAS,EAAA;AAAA,OACX;AAAA,MACA,KAAA,CAAM,WAAW,OAAW,IAAA;AAAA,QAC1B,OAAS,EAAA;AAAA;AACX,KACD;AAAA,GACH;AAAA,CAAE,CAAA;;;;"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { useAsync } from 'react-use';
3
+ import { toOption } from '@grafana/data';
4
+ import { Select } from '@grafana/ui';
5
+ import './types.js';
6
+ import 'lodash';
7
+
8
+ const TableSelector = ({ db, dataset, value, className, onChange }) => {
9
+ const state = useAsync(async () => {
10
+ if (!dataset) {
11
+ return [];
12
+ }
13
+ const tables = await db.tables(dataset);
14
+ return tables.map(toOption);
15
+ }, [dataset]);
16
+ return /* @__PURE__ */ React.createElement(
17
+ Select,
18
+ {
19
+ className,
20
+ disabled: state.loading,
21
+ "aria-label": "Table selector",
22
+ value,
23
+ options: state.value,
24
+ onChange,
25
+ isLoading: state.loading,
26
+ menuShouldPortal: true,
27
+ placeholder: state.loading ? "Loading tables" : "Select table"
28
+ }
29
+ );
30
+ };
31
+
32
+ export { TableSelector };
33
+ //# sourceMappingURL=TableSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelector.js","sources":["../../../../src/components/QueryEditor/TableSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { useAsync } from 'react-use';\n\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { Select } from '@grafana/ui';\nimport { type DB, type ResourceSelectorProps } from './types';\nimport { type QueryWithDefaults } from './defaults';\n\ninterface TableSelectorProps extends ResourceSelectorProps {\n db: DB;\n dataset: string;\n value: string | null;\n query: QueryWithDefaults;\n onChange: (v: SelectableValue) => void;\n}\n\nexport const TableSelector = ({ db, dataset, value, className, onChange }: TableSelectorProps) => {\n const state = useAsync(async () => {\n if (!dataset) {\n return [];\n }\n\n const tables = await db.tables(dataset);\n return tables.map(toOption);\n }, [dataset]);\n\n return (\n <Select\n className={className}\n disabled={state.loading}\n aria-label=\"Table selector\"\n value={value}\n options={state.value}\n onChange={onChange}\n isLoading={state.loading}\n menuShouldPortal={true}\n placeholder={state.loading ? 'Loading tables' : 'Select table'}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAgBa,MAAA,aAAA,GAAgB,CAAC,EAAE,EAAA,EAAI,SAAS,KAAO,EAAA,SAAA,EAAW,UAAmC,KAAA;AAChG,EAAM,MAAA,KAAA,GAAQ,SAAS,YAAY;AACjC,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAO,EAAC;AAAA;AAGV,IAAA,MAAM,MAAS,GAAA,MAAM,EAAG,CAAA,MAAA,CAAO,OAAO,CAAA;AACtC,IAAO,OAAA,MAAA,CAAO,IAAI,QAAQ,CAAA;AAAA,GAC5B,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAU,KAAM,CAAA,OAAA;AAAA,MAChB,YAAW,EAAA,gBAAA;AAAA,MACX,KAAA;AAAA,MACA,SAAS,KAAM,CAAA,KAAA;AAAA,MACf,QAAA;AAAA,MACA,WAAW,KAAM,CAAA,OAAA;AAAA,MACjB,gBAAkB,EAAA,IAAA;AAAA,MAClB,WAAA,EAAa,KAAM,CAAA,OAAA,GAAU,gBAAmB,GAAA;AAAA;AAAA,GAClD;AAEJ;;;;"}
@@ -0,0 +1,25 @@
1
+ import { EditorMode, QueryFormat } from './types.js';
2
+ import { createFunctionField, setGroupByField } from './utils/sql.utils.js';
3
+
4
+ function applyQueryDefaults(q) {
5
+ let editorMode = (q == null ? undefined : q.editorMode) || EditorMode.Builder;
6
+ if ((q == null ? undefined : q.editorMode) === undefined && (q == null ? undefined : q.rawSql) !== undefined) {
7
+ editorMode = EditorMode.Code;
8
+ }
9
+ const result = {
10
+ ...q,
11
+ refId: (q == null ? undefined : q.refId) || "A",
12
+ format: (q == null ? undefined : q.format) !== undefined ? q.format : QueryFormat.Table,
13
+ rawSql: (q == null ? undefined : q.rawSql) || "",
14
+ editorMode,
15
+ sql: (q == null ? undefined : q.sql) || {
16
+ columns: [createFunctionField()],
17
+ groupBy: [setGroupByField()],
18
+ limit: 50
19
+ }
20
+ };
21
+ return result;
22
+ }
23
+
24
+ export { applyQueryDefaults };
25
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sources":["../../../../src/components/QueryEditor/defaults.ts"],"sourcesContent":["import { EditorMode, QueryFormat, type SQLQuery } from './types';\nimport { createFunctionField, setGroupByField } from './utils/sql.utils';\n\nexport function applyQueryDefaults(q?: SQLQuery): SQLQuery {\n let editorMode = q?.editorMode || EditorMode.Builder;\n\n // Switching to code editor if the query was created before visual query builder was introduced.\n if (q?.editorMode === undefined && q?.rawSql !== undefined) {\n editorMode = EditorMode.Code;\n }\n\n const result: SQLQuery = {\n ...q,\n refId: q?.refId || 'A',\n format: q?.format !== undefined ? q.format : QueryFormat.Table,\n rawSql: q?.rawSql || '',\n editorMode,\n sql: q?.sql || {\n columns: [createFunctionField()],\n groupBy: [setGroupByField()],\n limit: 50,\n },\n };\n\n return result;\n}\n\nexport type QueryWithDefaults = ReturnType<typeof applyQueryDefaults>;\n"],"names":[],"mappings":";;;AAGO,SAAS,mBAAmB,CAAwB,EAAA;AACzD,EAAI,IAAA,UAAA,GAAA,CAAa,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,UAAA,KAAc,UAAW,CAAA,OAAA;AAG7C,EAAA,IAAA,CAAI,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,UAAA,MAAe,SAAa,IAAA,CAAA,CAAA,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAG,YAAW,SAAW,EAAA;AAC1D,IAAA,UAAA,GAAa,UAAW,CAAA,IAAA;AAAA;AAG1B,EAAA,MAAM,MAAmB,GAAA;AAAA,IACvB,GAAG,CAAA;AAAA,IACH,KAAA,EAAA,CAAO,0BAAG,KAAS,KAAA,GAAA;AAAA,IACnB,SAAQ,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,MAAA,MAAW,SAAY,GAAA,CAAA,CAAE,SAAS,WAAY,CAAA,KAAA;AAAA,IACzD,MAAA,EAAA,CAAQ,0BAAG,MAAU,KAAA,EAAA;AAAA,IACrB,UAAA;AAAA,IACA,GAAA,EAAA,CAAK,0BAAG,GAAO,KAAA;AAAA,MACb,OAAA,EAAS,CAAC,mBAAA,EAAqB,CAAA;AAAA,MAC/B,OAAA,EAAS,CAAC,eAAA,EAAiB,CAAA;AAAA,MAC3B,KAAO,EAAA;AAAA;AACT,GACF;AAEA,EAAO,OAAA,MAAA;AACT;;;;"}
@@ -0,0 +1,17 @@
1
+ var QueryEditorPropertyType = /* @__PURE__ */ ((QueryEditorPropertyType2) => {
2
+ QueryEditorPropertyType2["String"] = "string";
3
+ return QueryEditorPropertyType2;
4
+ })(QueryEditorPropertyType || {});
5
+ var QueryEditorExpressionType = /* @__PURE__ */ ((QueryEditorExpressionType2) => {
6
+ QueryEditorExpressionType2["Property"] = "property";
7
+ QueryEditorExpressionType2["Operator"] = "operator";
8
+ QueryEditorExpressionType2["Or"] = "or";
9
+ QueryEditorExpressionType2["And"] = "and";
10
+ QueryEditorExpressionType2["GroupBy"] = "groupBy";
11
+ QueryEditorExpressionType2["Function"] = "function";
12
+ QueryEditorExpressionType2["FunctionParameter"] = "functionParameter";
13
+ return QueryEditorExpressionType2;
14
+ })(QueryEditorExpressionType || {});
15
+
16
+ export { QueryEditorExpressionType, QueryEditorPropertyType };
17
+ //# sourceMappingURL=expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressions.js","sources":["../../../../src/components/QueryEditor/expressions.ts"],"sourcesContent":["export enum QueryEditorPropertyType {\n String = 'string',\n}\n\nexport interface QueryEditorProperty {\n type: QueryEditorPropertyType;\n name?: string;\n}\n\nexport type QueryEditorOperatorType = string | boolean | number;\ntype QueryEditorOperatorValueType = QueryEditorOperatorType | QueryEditorOperatorType[];\n\nexport interface QueryEditorOperator<T extends QueryEditorOperatorValueType> {\n name?: string;\n value?: T;\n}\n\nexport interface QueryEditorOperatorExpression {\n type: QueryEditorExpressionType.Operator;\n property: QueryEditorProperty;\n operator: QueryEditorOperator<QueryEditorOperatorValueType>;\n}\n\nexport interface QueryEditorArrayExpression {\n type: QueryEditorExpressionType.And | QueryEditorExpressionType.Or;\n expressions: QueryEditorExpression[] | QueryEditorArrayExpression[];\n}\n\nexport interface QueryEditorPropertyExpression {\n type: QueryEditorExpressionType.Property;\n property: QueryEditorProperty;\n}\n\nexport enum QueryEditorExpressionType {\n Property = 'property',\n Operator = 'operator',\n Or = 'or',\n And = 'and',\n GroupBy = 'groupBy',\n Function = 'function',\n FunctionParameter = 'functionParameter',\n}\n\nexport type QueryEditorExpression =\n | QueryEditorArrayExpression\n | QueryEditorPropertyExpression\n | QueryEditorGroupByExpression\n | QueryEditorFunctionExpression\n | QueryEditorFunctionParameterExpression\n | QueryEditorOperatorExpression;\n\nexport interface QueryEditorGroupByExpression {\n type: QueryEditorExpressionType.GroupBy;\n property: QueryEditorProperty;\n}\n\nexport interface QueryEditorFunctionExpression {\n type: QueryEditorExpressionType.Function;\n name?: string;\n parameters?: QueryEditorFunctionParameterExpression[];\n}\n\nexport interface QueryEditorFunctionParameterExpression {\n type: QueryEditorExpressionType.FunctionParameter;\n name?: string;\n}\n"],"names":["QueryEditorPropertyType","QueryEditorExpressionType"],"mappings":"AAAY,IAAA,uBAAA,qBAAAA,wBAAL,KAAA;AACL,EAAAA,yBAAA,QAAS,CAAA,GAAA,QAAA;AADC,EAAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA;AAiCA,IAAA,yBAAA,qBAAAC,0BAAL,KAAA;AACL,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,IAAK,CAAA,GAAA,IAAA;AACL,EAAAA,2BAAA,KAAM,CAAA,GAAA,KAAA;AACN,EAAAA,2BAAA,SAAU,CAAA,GAAA,SAAA;AACV,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,mBAAoB,CAAA,GAAA,mBAAA;AAPV,EAAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;;;;"}
@@ -0,0 +1,39 @@
1
+ import React, { useRef, useEffect, useCallback } from 'react';
2
+ import '../types.js';
3
+ import { formatSQL } from '../utils/formatSQL.js';
4
+ import { SQLEditor } from '../../SQLEditor/components/SQLEditor.js';
5
+ import '@grafana/ui';
6
+ import '@grafana/data';
7
+ import '../../SQLEditor/standardSql/macros.js';
8
+
9
+ function QueryEditorRaw({ children, onChange, query, width, height, completionProvider }) {
10
+ const queryRef = useRef(query);
11
+ useEffect(() => {
12
+ queryRef.current = query;
13
+ }, [query]);
14
+ const onRawQueryChange = useCallback(
15
+ (rawSql, processQuery) => {
16
+ const newQuery = {
17
+ ...queryRef.current,
18
+ rawQuery: true,
19
+ rawSql
20
+ };
21
+ onChange(newQuery, processQuery);
22
+ },
23
+ [onChange]
24
+ );
25
+ return /* @__PURE__ */ React.createElement(
26
+ SQLEditor,
27
+ {
28
+ width,
29
+ height,
30
+ query: query.rawSql,
31
+ onChange: onRawQueryChange,
32
+ language: { id: "sql", completionProvider, formatter: formatSQL }
33
+ },
34
+ children
35
+ );
36
+ }
37
+
38
+ export { QueryEditorRaw };
39
+ //# sourceMappingURL=QueryEditorRaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryEditorRaw.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryEditorRaw.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { type SQLQuery } from '../types';\n\nimport { formatSQL } from '../utils/formatSQL';\nimport { type LanguageCompletionProvider, SQLEditor } from '../../SQLEditor';\n\ntype Props = {\n query: SQLQuery;\n onChange: (value: SQLQuery, processQuery: boolean) => void;\n children?: (props: { formatQuery: () => void }) => React.ReactNode;\n width?: number;\n height?: number;\n completionProvider: LanguageCompletionProvider;\n};\n\nexport function QueryEditorRaw({ children, onChange, query, width, height, completionProvider }: Props) {\n // We need to pass query via ref to SQLEditor as onChange is executed via monacoEditor.onDidChangeModelContent callback, not onChange property\n const queryRef = useRef<SQLQuery>(query);\n useEffect(() => {\n queryRef.current = query;\n }, [query]);\n\n const onRawQueryChange = useCallback(\n (rawSql: string, processQuery: boolean) => {\n const newQuery = {\n ...queryRef.current,\n rawQuery: true,\n rawSql,\n };\n onChange(newQuery, processQuery);\n },\n [onChange]\n );\n\n return (\n <SQLEditor\n width={width}\n height={height}\n query={query.rawSql!}\n onChange={onRawQueryChange}\n language={{ id: 'sql', completionProvider, formatter: formatSQL }}\n >\n {children}\n </SQLEditor>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAgBgB,SAAA,cAAA,CAAe,EAAE,QAAU,EAAA,QAAA,EAAU,OAAO,KAAO,EAAA,MAAA,EAAQ,oBAA6B,EAAA;AAEtG,EAAM,MAAA,QAAA,GAAW,OAAiB,KAAK,CAAA;AACvC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,OAAU,GAAA,KAAA;AAAA,GACrB,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,QAAgB,YAA0B,KAAA;AACzC,MAAA,MAAM,QAAW,GAAA;AAAA,QACf,GAAG,QAAS,CAAA,OAAA;AAAA,QACZ,QAAU,EAAA,IAAA;AAAA,QACV;AAAA,OACF;AACA,MAAA,QAAA,CAAS,UAAU,YAAY,CAAA;AAAA,KACjC;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAO,KAAM,CAAA,MAAA;AAAA,MACb,QAAU,EAAA,gBAAA;AAAA,MACV,UAAU,EAAE,EAAA,EAAI,KAAO,EAAA,kBAAA,EAAoB,WAAW,SAAU;AAAA,KAAA;AAAA,IAE/D;AAAA,GACH;AAEJ;;;;"}
@@ -0,0 +1,63 @@
1
+ import { css } from '@emotion/css';
2
+ import React, { useState, useMemo } from 'react';
3
+ import { useTheme2, HorizontalGroup, IconButton, Tooltip, Icon } from '@grafana/ui';
4
+ import { QueryValidator } from './QueryValidator.js';
5
+
6
+ function QueryToolbox({ showTools, onFormatCode, onExpand, isExpanded, ...validatorProps }) {
7
+ const theme = useTheme2();
8
+ const [validationResult, setValidationResult] = useState();
9
+ const styles = useMemo(() => {
10
+ return {
11
+ container: css`
12
+ border: 1px solid ${theme.colors.border.medium};
13
+ border-top: none;
14
+ padding: ${theme.spacing(0.5, 0.5, 0.5, 0.5)};
15
+ display: flex;
16
+ flex-grow: 1;
17
+ justify-content: space-between;
18
+ font-size: ${theme.typography.bodySmall.fontSize};
19
+ `,
20
+ error: css`
21
+ color: ${theme.colors.error.text};
22
+ font-size: ${theme.typography.bodySmall.fontSize};
23
+ font-family: ${theme.typography.fontFamilyMonospace};
24
+ `,
25
+ valid: css`
26
+ color: ${theme.colors.success.text};
27
+ `,
28
+ info: css`
29
+ color: ${theme.colors.text.secondary};
30
+ `,
31
+ hint: css`
32
+ color: ${theme.colors.text.disabled};
33
+ white-space: nowrap;
34
+ cursor: help;
35
+ `
36
+ };
37
+ }, [theme]);
38
+ let style = {};
39
+ if (!showTools && validationResult === undefined) {
40
+ style = { height: 0, padding: 0, visibility: "hidden" };
41
+ }
42
+ return /* @__PURE__ */ React.createElement("div", { className: styles.container, style }, /* @__PURE__ */ React.createElement("div", null, validatorProps.onValidate && /* @__PURE__ */ React.createElement(
43
+ QueryValidator,
44
+ {
45
+ ...validatorProps,
46
+ onValidate: (result) => {
47
+ setValidationResult(result);
48
+ validatorProps.onValidate(result);
49
+ }
50
+ }
51
+ )), showTools && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(HorizontalGroup, { spacing: "sm" }, onFormatCode && /* @__PURE__ */ React.createElement(IconButton, { onClick: onFormatCode, name: "brackets-curly", size: "xs", tooltip: "Format query" }), onExpand && /* @__PURE__ */ React.createElement(
52
+ IconButton,
53
+ {
54
+ onClick: () => onExpand(!isExpanded),
55
+ name: isExpanded ? "angle-up" : "angle-down",
56
+ size: "xs",
57
+ tooltip: isExpanded ? "Collapse editor" : "Expand editor"
58
+ }
59
+ ), /* @__PURE__ */ React.createElement(Tooltip, { content: "Hit CTRL/CMD+Return to run query" }, /* @__PURE__ */ React.createElement(Icon, { className: styles.hint, name: "keyboard" })))));
60
+ }
61
+
62
+ export { QueryToolbox };
63
+ //# sourceMappingURL=QueryToolbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryToolbox.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryToolbox.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { useMemo, useState } from 'react';\n\nimport { HorizontalGroup, Icon, IconButton, Tooltip, useTheme2 } from '@grafana/ui';\n\nimport { QueryValidator, type QueryValidatorProps } from './QueryValidator';\n\ninterface QueryToolboxProps extends Omit<QueryValidatorProps, 'onValidate'> {\n showTools?: boolean;\n isExpanded?: boolean;\n onFormatCode?: () => void;\n onExpand?: (expand: boolean) => void;\n onValidate?: (isValid: boolean) => void;\n}\n\nexport function QueryToolbox({ showTools, onFormatCode, onExpand, isExpanded, ...validatorProps }: QueryToolboxProps) {\n const theme = useTheme2();\n const [validationResult, setValidationResult] = useState<boolean>();\n\n const styles = useMemo(() => {\n return {\n container: css`\n border: 1px solid ${theme.colors.border.medium};\n border-top: none;\n padding: ${theme.spacing(0.5, 0.5, 0.5, 0.5)};\n display: flex;\n flex-grow: 1;\n justify-content: space-between;\n font-size: ${theme.typography.bodySmall.fontSize};\n `,\n error: css`\n color: ${theme.colors.error.text};\n font-size: ${theme.typography.bodySmall.fontSize};\n font-family: ${theme.typography.fontFamilyMonospace};\n `,\n valid: css`\n color: ${theme.colors.success.text};\n `,\n info: css`\n color: ${theme.colors.text.secondary};\n `,\n hint: css`\n color: ${theme.colors.text.disabled};\n white-space: nowrap;\n cursor: help;\n `,\n };\n }, [theme]);\n\n let style = {};\n\n if (!showTools && validationResult === undefined) {\n style = { height: 0, padding: 0, visibility: 'hidden' };\n }\n\n return (\n <div className={styles.container} style={style}>\n <div>\n {validatorProps.onValidate && (\n <QueryValidator\n {...validatorProps}\n onValidate={(result: boolean) => {\n setValidationResult(result);\n validatorProps.onValidate!(result);\n }}\n />\n )}\n </div>\n {showTools && (\n <div>\n <HorizontalGroup spacing=\"sm\">\n {onFormatCode && (\n <IconButton onClick={onFormatCode} name=\"brackets-curly\" size=\"xs\" tooltip=\"Format query\" />\n )}\n {onExpand && (\n <IconButton\n onClick={() => onExpand(!isExpanded)}\n name={isExpanded ? 'angle-up' : 'angle-down'}\n size=\"xs\"\n tooltip={isExpanded ? 'Collapse editor' : 'Expand editor'}\n />\n )}\n <Tooltip content=\"Hit CTRL/CMD+Return to run query\">\n <Icon className={styles.hint} name=\"keyboard\" />\n </Tooltip>\n </HorizontalGroup>\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { css } from '@emotion/css';
2
+ import React, { useState, useMemo, useEffect } from 'react';
3
+ import { useAsyncFn, useDebounce } from 'react-use';
4
+ import { getValueFormat, formattedValueToString } from '@grafana/data';
5
+ import { useTheme2, Spinner, Icon } from '@grafana/ui';
6
+ import '../types.js';
7
+
8
+ function QueryValidator({ db, query, onValidate, range }) {
9
+ var _a;
10
+ const [validationResult, setValidationResult] = useState();
11
+ const theme = useTheme2();
12
+ const valueFormatter = useMemo(() => getValueFormat("bytes"), []);
13
+ const styles = useMemo(() => {
14
+ return {
15
+ error: css`
16
+ color: ${theme.colors.error.text};
17
+ font-size: ${theme.typography.bodySmall.fontSize};
18
+ font-family: ${theme.typography.fontFamilyMonospace};
19
+ `,
20
+ valid: css`
21
+ color: ${theme.colors.success.text};
22
+ `,
23
+ info: css`
24
+ color: ${theme.colors.text.secondary};
25
+ `
26
+ };
27
+ }, [theme]);
28
+ const [state, validateQuery] = useAsyncFn(
29
+ async (q) => {
30
+ var _a2;
31
+ if (((_a2 = q.rawSql) == null ? undefined : _a2.trim()) === "") {
32
+ return null;
33
+ }
34
+ return await db.validateQuery(q, range);
35
+ },
36
+ [db]
37
+ );
38
+ useDebounce(
39
+ async () => {
40
+ const result = await validateQuery(query);
41
+ if (result) {
42
+ setValidationResult(result);
43
+ }
44
+ return null;
45
+ },
46
+ 1e3,
47
+ [query, validateQuery]
48
+ );
49
+ useEffect(() => {
50
+ if (validationResult == null ? undefined : validationResult.isError) {
51
+ onValidate(false);
52
+ }
53
+ if (validationResult == null ? undefined : validationResult.isValid) {
54
+ onValidate(true);
55
+ }
56
+ }, [validationResult, onValidate]);
57
+ if (!state.value && !state.loading) {
58
+ return null;
59
+ }
60
+ const error = ((_a = state.value) == null ? undefined : _a.error) ? processErrorMessage(state.value.error) : "";
61
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, state.loading && /* @__PURE__ */ React.createElement("div", { className: styles.info }, /* @__PURE__ */ React.createElement(Spinner, { inline: true, size: 12 }), " Validating query..."), !state.loading && state.value && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(React.Fragment, null, state.value.isValid && state.value.statistics && /* @__PURE__ */ React.createElement("div", { className: styles.valid }, /* @__PURE__ */ React.createElement(Icon, { name: "check" }), " This query will process", " ", /* @__PURE__ */ React.createElement("strong", null, formattedValueToString(valueFormatter(state.value.statistics.TotalBytesProcessed))), " ", "when run.")), /* @__PURE__ */ React.createElement(React.Fragment, null, state.value.isError && /* @__PURE__ */ React.createElement("div", { className: styles.error }, error))));
62
+ }
63
+ function processErrorMessage(error) {
64
+ const splat = error.split(":");
65
+ if (splat.length > 2) {
66
+ return splat.slice(2).join(":");
67
+ }
68
+ return error;
69
+ }
70
+
71
+ export { QueryValidator };
72
+ //# sourceMappingURL=QueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryValidator.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { useAsyncFn, useDebounce } from 'react-use';\nimport { formattedValueToString, getValueFormat, type TimeRange } from '@grafana/data';\nimport { Icon, Spinner, useTheme2 } from '@grafana/ui';\nimport { type DB, type SQLQuery, type ValidationResults } from '../types';\n\nexport interface QueryValidatorProps {\n db: DB;\n query: SQLQuery;\n range?: TimeRange;\n onValidate: (isValid: boolean) => void;\n}\n\nexport function QueryValidator({ db, query, onValidate, range }: QueryValidatorProps) {\n const [validationResult, setValidationResult] = useState<ValidationResults | null>();\n const theme = useTheme2();\n const valueFormatter = useMemo(() => getValueFormat('bytes'), []);\n\n const styles = useMemo(() => {\n return {\n error: css`\n color: ${theme.colors.error.text};\n font-size: ${theme.typography.bodySmall.fontSize};\n font-family: ${theme.typography.fontFamilyMonospace};\n `,\n valid: css`\n color: ${theme.colors.success.text};\n `,\n info: css`\n color: ${theme.colors.text.secondary};\n `,\n };\n }, [theme]);\n\n const [state, validateQuery] = useAsyncFn(\n async (q: SQLQuery) => {\n if (q.rawSql?.trim() === '') {\n return null;\n }\n\n return await db.validateQuery(q, range);\n },\n [db]\n );\n\n const [,] = useDebounce(\n async () => {\n const result = await validateQuery(query);\n if (result) {\n setValidationResult(result);\n }\n\n return null;\n },\n 1000,\n [query, validateQuery]\n );\n\n useEffect(() => {\n if (validationResult?.isError) {\n onValidate(false);\n }\n if (validationResult?.isValid) {\n onValidate(true);\n }\n }, [validationResult, onValidate]);\n\n if (!state.value && !state.loading) {\n return null;\n }\n\n const error = state.value?.error ? processErrorMessage(state.value.error) : '';\n\n return (\n <>\n {state.loading && (\n <div className={styles.info}>\n <Spinner inline={true} size={12} /> Validating query...\n </div>\n )}\n {!state.loading && state.value && (\n <>\n <>\n {state.value.isValid && state.value.statistics && (\n <div className={styles.valid}>\n <Icon name=\"check\" /> This query will process{' '}\n <strong>{formattedValueToString(valueFormatter(state.value.statistics.TotalBytesProcessed))}</strong>{' '}\n when run.\n </div>\n )}\n </>\n\n <>{state.value.isError && <div className={styles.error}>{error}</div>}</>\n </>\n )}\n </>\n );\n}\n\nfunction processErrorMessage(error: string) {\n const splat = error.split(':');\n if (splat.length > 2) {\n return splat.slice(2).join(':');\n }\n return error;\n}\n"],"names":["_a"],"mappings":"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"}