@grafana/plugin-ui 0.16.0 → 0.17.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 (463) hide show
  1. package/dist/cjs/index.cjs +16725 -20758
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +30 -12
  4. package/dist/cjs/test-utils.cjs +3979 -91
  5. package/dist/cjs/test-utils.cjs.map +1 -1
  6. package/dist/cjs/test-utils.d.cts +1 -1
  7. package/dist/esm/_virtual/chance2.js +2 -2
  8. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js +7 -7
  9. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js.map +1 -1
  10. package/dist/esm/async-query-data/RunQueryButtons.js +4 -4
  11. package/dist/esm/async-query-data/RunQueryButtons.js.map +1 -1
  12. package/dist/esm/async-query-data/requestLooper.js +6 -6
  13. package/dist/esm/async-query-data/requestLooper.js.map +1 -1
  14. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
  15. package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
  16. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +4 -4
  17. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
  18. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
  19. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
  20. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
  21. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
  22. package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
  23. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
  24. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
  25. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
  26. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +11 -8
  27. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
  28. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
  29. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
  30. package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
  31. package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
  32. package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
  33. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
  34. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
  35. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
  36. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
  37. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
  38. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
  39. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
  40. package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
  41. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
  42. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
  43. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
  44. package/dist/esm/components/DataLinks/DataLink.js +5 -4
  45. package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
  46. package/dist/esm/components/DataLinks/DataLinks.js +3 -3
  47. package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
  48. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +10 -10
  49. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
  50. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  51. package/dist/esm/components/DatePicker/styles.js +2 -2
  52. package/dist/esm/components/DatePicker/styles.js.map +1 -1
  53. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
  54. package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
  55. package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
  56. package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
  57. package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
  58. package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
  59. package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
  60. package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
  61. package/dist/esm/components/QueryEditor/ConfirmModal.js +2 -1
  62. package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
  63. package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
  64. package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
  65. package/dist/esm/components/QueryEditor/EditorField.js +5 -5
  66. package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
  67. package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
  68. package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
  69. package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
  70. package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
  71. package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
  72. package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
  73. package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
  74. package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
  75. package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
  76. package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
  77. package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
  78. package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
  79. package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
  80. package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
  81. package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
  82. package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
  83. package/dist/esm/components/QueryEditor/QueryEditor.js +7 -7
  84. package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
  85. package/dist/esm/components/QueryEditor/QueryEditorRow.js.map +1 -0
  86. package/dist/esm/components/QueryEditor/QueryHeader.js +18 -18
  87. package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
  88. package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
  89. package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
  90. package/dist/esm/components/QueryEditor/Space.js +2 -2
  91. package/dist/esm/components/QueryEditor/Space.js.map +1 -1
  92. package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
  93. package/dist/esm/components/QueryEditor/defaults.js +7 -7
  94. package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
  95. package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
  96. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
  97. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +4 -4
  98. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
  99. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
  100. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
  101. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +3 -3
  102. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
  103. package/dist/esm/components/QueryEditor/types.js.map +1 -1
  104. package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
  105. package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
  106. package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
  107. package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
  108. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +28 -27
  109. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
  110. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
  111. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
  112. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
  113. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
  114. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
  115. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
  116. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
  117. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
  118. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
  119. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +2 -2
  120. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
  121. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
  122. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -2
  123. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
  124. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
  125. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
  126. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
  127. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
  128. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
  129. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
  130. package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
  131. package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
  132. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
  133. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
  134. package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
  135. package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
  136. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
  137. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
  138. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
  139. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
  140. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
  141. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
  142. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
  143. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
  144. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
  145. package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
  146. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
  147. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
  148. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +3 -3
  149. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
  150. package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
  151. package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
  152. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
  153. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
  154. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
  155. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
  156. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +25 -25
  157. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
  158. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
  159. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
  160. package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
  161. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
  162. package/dist/esm/components/SQLEditor/types.js.map +1 -1
  163. package/dist/esm/components/SQLEditor/utils/LinkedToken.js +15 -12
  164. package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
  165. package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
  166. package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
  167. package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
  168. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
  169. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +1 -1
  170. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
  171. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
  172. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
  173. package/dist/esm/components/SQLEditor/utils/tokenType.js.map +1 -1
  174. package/dist/esm/components/SQLEditor/utils/tokenUtils.js +9 -9
  175. package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
  176. package/dist/esm/components/Segment/Segment.js.map +1 -1
  177. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +8 -8
  178. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
  179. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
  180. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
  181. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
  182. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
  183. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
  184. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
  185. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +3 -2
  186. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
  187. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
  188. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
  189. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +8 -5
  190. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
  191. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +5 -3
  192. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
  193. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +3 -3
  194. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
  195. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
  196. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
  197. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +6 -5
  198. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
  199. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +2 -2
  200. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
  201. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
  202. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
  203. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
  204. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +2 -2
  205. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
  206. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
  207. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
  208. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
  209. package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
  210. package/dist/esm/datasource/SqlDatasource.js +17 -16
  211. package/dist/esm/datasource/SqlDatasource.js.map +1 -1
  212. package/dist/esm/datasource/constants.js.map +1 -1
  213. package/dist/esm/hooks/useDebounce.js.map +1 -1
  214. package/dist/esm/index.d.ts +30 -12
  215. package/dist/esm/index.js +3 -3
  216. package/dist/esm/node_modules/chance/chance.js +3973 -88
  217. package/dist/esm/node_modules/chance/chance.js.map +1 -1
  218. package/dist/esm/node_modules/immutable/dist/immutable.es.js +6186 -0
  219. package/dist/esm/node_modules/immutable/dist/immutable.es.js.map +1 -0
  220. package/dist/esm/node_modules/js-yaml/dist/js-yaml.js +3059 -0
  221. package/dist/esm/node_modules/js-yaml/dist/js-yaml.js.map +1 -0
  222. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Observable.js +2 -2
  223. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -1
  224. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscriber.js +3 -3
  225. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -1
  226. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscription.js +1 -1
  227. package/dist/esm/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -1
  228. package/dist/esm/node_modules/rxjs/dist/esm5/internal/config.js +1 -6
  229. package/dist/esm/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -1
  230. package/dist/esm/node_modules/rxjs/dist/esm5/internal/lastValueFrom.js.map +1 -1
  231. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -1
  232. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js +3 -3
  233. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -1
  234. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/merge.js +2 -2
  235. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +1 -1
  236. package/dist/esm/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +1 -1
  237. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +1 -1
  238. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -1
  239. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +1 -1
  240. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/map.js +2 -2
  241. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +1 -1
  242. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js +1 -1
  243. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +1 -1
  244. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +1 -1
  245. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js +1 -1
  246. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +1 -1
  247. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +1 -1
  248. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -1
  249. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js +1 -1
  250. package/dist/esm/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -1
  251. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -1
  252. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -1
  253. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +1 -1
  254. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -1
  255. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -1
  256. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +1 -1
  257. package/dist/esm/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -1
  258. package/dist/esm/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -1
  259. package/dist/esm/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -1
  260. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js +7 -5
  261. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js.map +1 -1
  262. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -1
  263. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -1
  264. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -1
  265. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -1
  266. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +2 -2
  267. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -1
  268. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -1
  269. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js +1 -1
  270. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -1
  271. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isIterable.js +1 -1
  272. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -1
  273. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isPromise.js +1 -1
  274. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -1
  275. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +2 -2
  276. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -1
  277. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/lift.js +1 -1
  278. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -1
  279. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -1
  280. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -1
  281. package/dist/esm/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -1
  282. package/dist/esm/node_modules/semver/classes/comparator.js.map +1 -1
  283. package/dist/esm/node_modules/semver/classes/range.js +24 -4
  284. package/dist/esm/node_modules/semver/classes/range.js.map +1 -1
  285. package/dist/esm/node_modules/semver/classes/semver.js +27 -10
  286. package/dist/esm/node_modules/semver/classes/semver.js.map +1 -1
  287. package/dist/esm/node_modules/semver/functions/clean.js.map +1 -1
  288. package/dist/esm/node_modules/semver/functions/cmp.js.map +1 -1
  289. package/dist/esm/node_modules/semver/functions/coerce.js.map +1 -1
  290. package/dist/esm/node_modules/semver/functions/compare-build.js.map +1 -1
  291. package/dist/esm/node_modules/semver/functions/diff.js +1 -1
  292. package/dist/esm/node_modules/semver/functions/diff.js.map +1 -1
  293. package/dist/esm/node_modules/semver/functions/inc.js.map +1 -1
  294. package/dist/esm/node_modules/semver/functions/parse.js.map +1 -1
  295. package/dist/esm/node_modules/semver/functions/prerelease.js.map +1 -1
  296. package/dist/esm/node_modules/semver/functions/satisfies.js.map +1 -1
  297. package/dist/esm/node_modules/semver/functions/truncate.js +62 -0
  298. package/dist/esm/node_modules/semver/functions/truncate.js.map +1 -0
  299. package/dist/esm/node_modules/semver/functions/valid.js +5 -5
  300. package/dist/esm/node_modules/semver/functions/valid.js.map +1 -1
  301. package/dist/esm/node_modules/semver/index.js +3 -0
  302. package/dist/esm/node_modules/semver/index.js.map +1 -1
  303. package/dist/esm/node_modules/semver/internal/debug.js.map +1 -1
  304. package/dist/esm/node_modules/semver/internal/identifiers.js.map +1 -1
  305. package/dist/esm/node_modules/semver/internal/lrucache.js.map +1 -1
  306. package/dist/esm/node_modules/semver/internal/parse-options.js.map +1 -1
  307. package/dist/esm/node_modules/semver/internal/re.js +13 -13
  308. package/dist/esm/node_modules/semver/internal/re.js.map +1 -1
  309. package/dist/esm/node_modules/semver/ranges/intersects.js.map +1 -1
  310. package/dist/esm/node_modules/semver/ranges/max-satisfying.js.map +1 -1
  311. package/dist/esm/node_modules/semver/ranges/min-satisfying.js.map +1 -1
  312. package/dist/esm/node_modules/semver/ranges/min-version.js.map +1 -1
  313. package/dist/esm/node_modules/semver/ranges/outside.js.map +1 -1
  314. package/dist/esm/node_modules/semver/ranges/simplify.js.map +1 -1
  315. package/dist/esm/node_modules/semver/ranges/subset.js +3 -3
  316. package/dist/esm/node_modules/semver/ranges/subset.js.map +1 -1
  317. package/dist/esm/node_modules/semver/ranges/valid.js.map +1 -1
  318. package/dist/esm/node_modules/tslib/tslib.es6.js +2 -2
  319. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  320. package/dist/esm/schema/utils/provisioning.js +389 -0
  321. package/dist/esm/schema/utils/provisioning.js.map +1 -0
  322. package/dist/esm/schema/utils/registry.js +31 -0
  323. package/dist/esm/schema/utils/registry.js.map +1 -0
  324. package/dist/esm/test/mocks/DataQuery.js.map +1 -1
  325. package/dist/esm/test/mocks/Datasource.js +1 -1
  326. package/dist/esm/test/mocks/Datasource.js.map +1 -1
  327. package/dist/esm/test/mocks/Plugin.js +5 -2
  328. package/dist/esm/test/mocks/Plugin.js.map +1 -1
  329. package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
  330. package/dist/esm/test/mocks/utils.js +2 -2
  331. package/dist/esm/test/mocks/utils.js.map +1 -1
  332. package/dist/esm/test-utils.d.ts +1 -1
  333. package/package.json +66 -66
  334. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +0 -1
  335. package/dist/esm/schema/registry/alertmanager.schema.json.js +0 -77
  336. package/dist/esm/schema/registry/alertmanager.schema.json.js.map +0 -1
  337. package/dist/esm/schema/registry/cloudwatch.schema.json.js +0 -384
  338. package/dist/esm/schema/registry/cloudwatch.schema.json.js.map +0 -1
  339. package/dist/esm/schema/registry/elasticsearch.schema.json.js +0 -287
  340. package/dist/esm/schema/registry/elasticsearch.schema.json.js.map +0 -1
  341. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js +0 -166
  342. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js.map +0 -1
  343. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js +0 -145
  344. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js.map +0 -1
  345. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js +0 -123
  346. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js.map +0 -1
  347. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js +0 -158
  348. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js.map +0 -1
  349. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js +0 -204
  350. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js.map +0 -1
  351. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js +0 -294
  352. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js.map +0 -1
  353. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js +0 -101
  354. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js.map +0 -1
  355. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js +0 -125
  356. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js.map +0 -1
  357. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js +0 -508
  358. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js.map +0 -1
  359. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js +0 -1400
  360. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js.map +0 -1
  361. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js +0 -302
  362. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js.map +0 -1
  363. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js +0 -291
  364. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js.map +0 -1
  365. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js +0 -155
  366. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js.map +0 -1
  367. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js +0 -179
  368. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js.map +0 -1
  369. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js +0 -134
  370. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js.map +0 -1
  371. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js +0 -156
  372. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js.map +0 -1
  373. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js +0 -84
  374. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js.map +0 -1
  375. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js +0 -231
  376. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js.map +0 -1
  377. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js +0 -87
  378. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js.map +0 -1
  379. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js +0 -159
  380. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js.map +0 -1
  381. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js +0 -188
  382. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js.map +0 -1
  383. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js +0 -82
  384. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js.map +0 -1
  385. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js +0 -278
  386. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js.map +0 -1
  387. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js +0 -168
  388. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js.map +0 -1
  389. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js +0 -129
  390. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js.map +0 -1
  391. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js +0 -56
  392. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js.map +0 -1
  393. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js +0 -212
  394. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js.map +0 -1
  395. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js +0 -186
  396. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js.map +0 -1
  397. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js +0 -85
  398. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js.map +0 -1
  399. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js +0 -411
  400. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js.map +0 -1
  401. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js +0 -41
  402. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js.map +0 -1
  403. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js +0 -201
  404. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js.map +0 -1
  405. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js +0 -201
  406. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js.map +0 -1
  407. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js +0 -208
  408. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js.map +0 -1
  409. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js +0 -94
  410. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js.map +0 -1
  411. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js +0 -179
  412. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js.map +0 -1
  413. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js +0 -304
  414. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js.map +0 -1
  415. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js +0 -319
  416. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js.map +0 -1
  417. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js +0 -90
  418. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js.map +0 -1
  419. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js +0 -74
  420. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js.map +0 -1
  421. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js +0 -102
  422. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js.map +0 -1
  423. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js +0 -92
  424. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js.map +0 -1
  425. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js +0 -145
  426. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js.map +0 -1
  427. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js +0 -80
  428. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js.map +0 -1
  429. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js +0 -112
  430. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js.map +0 -1
  431. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js +0 -114
  432. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js.map +0 -1
  433. package/dist/esm/schema/registry/graphite.schema.json.js +0 -104
  434. package/dist/esm/schema/registry/graphite.schema.json.js.map +0 -1
  435. package/dist/esm/schema/registry/index.js +0 -27
  436. package/dist/esm/schema/registry/index.js.map +0 -1
  437. package/dist/esm/schema/registry/influxdb.schema.json.js +0 -717
  438. package/dist/esm/schema/registry/influxdb.schema.json.js.map +0 -1
  439. package/dist/esm/schema/registry/jaeger.schema.json.js +0 -59
  440. package/dist/esm/schema/registry/jaeger.schema.json.js.map +0 -1
  441. package/dist/esm/schema/registry/loki.schema.json.js +0 -545
  442. package/dist/esm/schema/registry/loki.schema.json.js.map +0 -1
  443. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js +0 -45
  444. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js.map +0 -1
  445. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js +0 -36
  446. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js.map +0 -1
  447. package/dist/esm/schema/registry/mssql.schema.json.js +0 -292
  448. package/dist/esm/schema/registry/mssql.schema.json.js.map +0 -1
  449. package/dist/esm/schema/registry/mysql.schema.json.js +0 -304
  450. package/dist/esm/schema/registry/mysql.schema.json.js.map +0 -1
  451. package/dist/esm/schema/registry/opentsdb.schema.json.js +0 -113
  452. package/dist/esm/schema/registry/opentsdb.schema.json.js.map +0 -1
  453. package/dist/esm/schema/registry/prometheus.schema.json.js +0 -783
  454. package/dist/esm/schema/registry/prometheus.schema.json.js.map +0 -1
  455. package/dist/esm/schema/registry/stackdriver.schema.json.js +0 -224
  456. package/dist/esm/schema/registry/stackdriver.schema.json.js.map +0 -1
  457. package/dist/esm/schema/registry/staticRegistry.js +0 -135
  458. package/dist/esm/schema/registry/staticRegistry.js.map +0 -1
  459. package/dist/esm/schema/registry/tempo.schema.json.js +0 -664
  460. package/dist/esm/schema/registry/tempo.schema.json.js.map +0 -1
  461. package/dist/esm/schema/registry/zipkin.schema.json.js +0 -40
  462. package/dist/esm/schema/registry/zipkin.schema.json.js.map +0 -1
  463. /package/dist/esm/components/{QueryEditorRow → QueryEditor}/QueryEditorRow.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/SQLEditor/types.ts"],"sourcesContent":["import { type Monaco, type monacoTypes } from '@grafana/ui';\nimport { type LinkedToken } from './utils/LinkedToken';\n\n/**\n * Provides a context for suggestions resolver\n * @alpha\n */\nexport interface PositionContext {\n position: monacoTypes.IPosition;\n kind: SuggestionKind[];\n statementPosition: StatementPosition[];\n currentToken: LinkedToken | null;\n range: monacoTypes.IRange;\n}\n\nexport type CustomSuggestion = Partial<monacoTypes.languages.CompletionItem> & { label: string };\n\nexport interface CustomSuggestionKind {\n id: string;\n suggestionsResolver: SuggestionsResolver;\n applyTo?: Array<StatementPosition | string>;\n overrideDefault?: boolean;\n}\n\nexport interface CustomStatementPlacement {\n id: string;\n name?: string;\n resolve: StatementPositionResolver;\n overrideDefault?: boolean;\n}\nexport type StatementPlacementProvider = () => CustomStatementPlacement[];\nexport type SuggestionKindProvider = () => CustomSuggestionKind[];\n\nexport interface ColumnDefinition {\n name: string;\n type?: string;\n description?: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface SchemaDefinition {\n name: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface TableDefinition {\n name: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface Operator {\n id: string;\n operator: string;\n type: OperatorType;\n description?: string;\n}\n\nexport interface TableIdentifier {\n table?: string;\n schema?: string;\n catalog?: string;\n}\n\nexport interface SQLCompletionItemProvider\n extends Omit<monacoTypes.languages.CompletionItemProvider, 'provideCompletionItems'> {\n /**\n * Allows dialect specific functions to be added to the completion list.\n * @alpha\n */\n supportedFunctions?: () => Array<{\n id: string;\n name: string;\n description?: string;\n }>;\n\n /**\n * Allows dialect specific operators to be added to the completion list.\n * @alpha\n */\n supportedOperators?: () => Array<{\n id: string;\n operator: string;\n type: OperatorType;\n description?: string;\n }>;\n\n supportedMacros?: () => Array<{\n id: string;\n text: string;\n type: MacroType;\n args: string[];\n description?: string;\n }>;\n\n /**\n * Allows custom suggestion kinds to be defined and correlate them with <Custom>StatementPosition.\n * @alpha\n */\n customSuggestionKinds?: SuggestionKindProvider;\n\n /**\n * Allows custom statement placement definition.\n * @alpha\n */\n customStatementPlacement?: StatementPlacementProvider;\n\n /**\n * Allows providing a custom function for resolving schemas.\n * It's up to the consumer to decide whether the schemas are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n schemas?: {\n resolve: () => Promise<SchemaDefinition[]>;\n };\n\n /**\n * Allows providing a custom function for resolving db tables.\n * It's up to the consumer to decide whether the columns are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n tables?: {\n resolve: (TableIdentifier: TableIdentifier | null) => Promise<TableDefinition[]>;\n // Allows providing a custom function for calculating the table name from the query. If not specified a default implementation is used.\n parseName?: (token: LinkedToken | null | undefined) => TableIdentifier;\n };\n /**\n * Allows providing a custom function for resolving table.\n * It's up to the consumer to decide whether the columns are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n columns?: {\n resolve: (identifier?: TableIdentifier) => Promise<ColumnDefinition[]>;\n };\n\n /**\n * TODO: Not sure whether or not we need this. Would like to avoid this kind of flexibility.\n * @alpha\n */\n provideCompletionItems?: (\n model: monacoTypes.editor.ITextModel,\n position: monacoTypes.Position,\n context: monacoTypes.languages.CompletionContext,\n token: monacoTypes.CancellationToken,\n positionContext: PositionContext // Decorates original provideCompletionItems function with our custom statement position context\n ) => monacoTypes.languages.CompletionList;\n}\n\nexport interface SQLMonarchLanguage extends monacoTypes.languages.IMonarchLanguage {\n keywords?: string[];\n builtinFunctions?: string[];\n\n /* Example: AND, OR, LIKE */\n logicalOperators?: string[];\n /* Example: >, <>, = */\n comparisonOperators?: string[];\n\n /** Used by basic languages in the monaco registry **/\n operators?: string[];\n}\n\nexport type StatementPositionResolver = (\n currentToken: LinkedToken | null,\n previousKeyword: LinkedToken | null,\n previousNonWhiteSpace: LinkedToken | null,\n previousIsSlash: Boolean\n) => Boolean;\n\nexport type SuggestionsResolver = <T extends PositionContext = PositionContext>(\n positionContext: T\n) => Promise<CustomSuggestion[]>;\n\nexport type LanguageCompletionProvider = (m: Monaco, l?: SQLMonarchLanguage) => SQLCompletionItemProvider;\n\nexport interface LanguageDefinition extends monacoTypes.languages.ILanguageExtensionPoint {\n loader?: (module: any) => Promise<{\n language: SQLMonarchLanguage;\n conf: monacoTypes.languages.LanguageConfiguration;\n }>;\n // Provides API for customizing the autocomplete\n completionProvider?: (m: Monaco, language: SQLMonarchLanguage) => SQLCompletionItemProvider;\n // Function that returns a formatted query\n formatter?: (q: string) => string;\n}\n\nexport enum OperatorType {\n Comparison,\n Logical,\n}\n\nexport enum MacroType {\n Value,\n Filter,\n Group,\n Column,\n Table,\n}\n\nexport { TokenType } from './utils/tokenType';\n\nexport enum StatementPosition {\n Unknown = 'unknown',\n SelectKeyword = 'selectKeyword',\n WithKeyword = 'withKeyword',\n AfterSelectKeyword = 'afterSelectKeyword',\n AfterSelectArguments = 'afterSelectArguments',\n AfterSelectFuncFirstArgument = 'afterSelectFuncFirstArgument',\n SelectAlias = 'selectAlias',\n AfterFromKeyword = 'afterFromKeyword',\n AfterTable = 'afterTable',\n SchemaFuncFirstArgument = 'schemaFuncFirstArgument',\n SchemaFuncExtraArgument = 'schemaFuncExtraArgument',\n FromKeyword = 'fromKeyword',\n AfterFrom = 'afterFrom',\n WhereKeyword = 'whereKeyword',\n WhereComparisonOperator = 'whereComparisonOperator',\n WhereValue = 'whereValue',\n AfterWhereFunctionArgument = 'afterWhereFunctionArgument',\n AfterGroupByFunctionArgument = 'afterGroupByFunctionArgument',\n AfterWhereValue = 'afterWhereValue',\n AfterGroupByKeywords = 'afterGroupByKeywords',\n AfterGroupBy = 'afterGroupBy',\n AfterOrderByKeywords = 'afterOrderByKeywords',\n AfterOrderByFunction = 'afterOrderByFunction',\n AfterOrderByDirection = 'afterOrderByDirection',\n AfterIsOperator = 'afterIsOperator',\n AfterIsNotOperator = 'afterIsNotOperator',\n AfterSchema = 'afterSchema',\n}\n\nexport enum SuggestionKind {\n Schemas = 'schemas',\n Tables = 'tables',\n Columns = 'columns',\n SelectKeyword = 'selectKeyword',\n WithKeyword = 'withKeyword',\n FunctionsWithArguments = 'functionsWithArguments',\n FromKeyword = 'fromKeyword',\n WhereKeyword = 'whereKeyword',\n GroupByKeywords = 'groupByKeywords',\n OrderByKeywords = 'orderByKeywords',\n FunctionsWithoutArguments = 'functionsWithoutArguments',\n LimitKeyword = 'limitKeyword',\n SortOrderDirectionKeyword = 'sortOrderDirectionKeyword',\n ComparisonOperators = 'comparisonOperators',\n LogicalOperators = 'logicalOperators',\n SelectMacro = 'selectMacro',\n TableMacro = 'tableMacro',\n FilterMacro = 'filterMacro',\n GroupMacro = 'groupMacro',\n BoolValues = 'boolValues',\n NullValue = 'nullValue',\n NotKeyword = 'notKeyword',\n TemplateVariables = 'templateVariables',\n StarWildCard = 'starWildCard',\n}\n\n// TODO: export from grafana/ui\nexport enum CompletionItemPriority {\n High = 'a',\n MediumHigh = 'd',\n Medium = 'g',\n MediumLow = 'k',\n Low = 'q',\n}\n\nexport enum CompletionItemKind {\n Method = 0,\n Function = 1,\n Constructor = 2,\n Field = 3,\n Variable = 4,\n Class = 5,\n Struct = 6,\n Interface = 7,\n Module = 8,\n Property = 9,\n Event = 10,\n Operator = 11,\n Unit = 12,\n Value = 13,\n Constant = 14,\n Enum = 15,\n EnumMember = 16,\n Keyword = 17,\n Text = 18,\n Color = 19,\n File = 20,\n Reference = 21,\n Customcolor = 22,\n Folder = 23,\n TypeParameter = 24,\n User = 25,\n Issue = 26,\n Snippet = 27,\n}\n\nexport enum CompletionItemInsertTextRule {\n KeepWhitespace = 1,\n InsertAsSnippet = 4,\n}\n\nexport enum SQLEditorMode {\n Builder = 'builder',\n Code = 'code',\n}\n"],"names":["OperatorType","MacroType","StatementPosition","SuggestionKind","CompletionItemPriority","CompletionItemKind","CompletionItemInsertTextRule","SQLEditorMode"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/SQLEditor/types.ts"],"sourcesContent":["import { type Monaco, type monacoTypes } from '@grafana/ui';\nimport { type LinkedToken } from './utils/LinkedToken';\n\n/**\n * Provides a context for suggestions resolver\n * @alpha\n */\nexport interface PositionContext {\n position: monacoTypes.IPosition;\n kind: SuggestionKind[];\n statementPosition: StatementPosition[];\n currentToken: LinkedToken | null;\n range: monacoTypes.IRange;\n}\n\nexport type CustomSuggestion = Partial<monacoTypes.languages.CompletionItem> & { label: string };\n\nexport interface CustomSuggestionKind {\n id: string;\n suggestionsResolver: SuggestionsResolver;\n applyTo?: Array<StatementPosition | string>;\n overrideDefault?: boolean;\n}\n\nexport interface CustomStatementPlacement {\n id: string;\n name?: string;\n resolve: StatementPositionResolver;\n overrideDefault?: boolean;\n}\nexport type StatementPlacementProvider = () => CustomStatementPlacement[];\nexport type SuggestionKindProvider = () => CustomSuggestionKind[];\n\nexport interface ColumnDefinition {\n name: string;\n type?: string;\n description?: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface SchemaDefinition {\n name: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface TableDefinition {\n name: string;\n // Text used for autocomplete. If not provided name is used.\n completion?: string;\n}\n\nexport interface Operator {\n id: string;\n operator: string;\n type: OperatorType;\n description?: string;\n}\n\nexport interface TableIdentifier {\n table?: string;\n schema?: string;\n catalog?: string;\n}\n\nexport interface SQLCompletionItemProvider\n extends Omit<monacoTypes.languages.CompletionItemProvider, 'provideCompletionItems'> {\n /**\n * Allows dialect specific functions to be added to the completion list.\n * @alpha\n */\n supportedFunctions?: () => Array<{\n id: string;\n name: string;\n description?: string;\n }>;\n\n /**\n * Allows dialect specific operators to be added to the completion list.\n * @alpha\n */\n supportedOperators?: () => Array<{\n id: string;\n operator: string;\n type: OperatorType;\n description?: string;\n }>;\n\n supportedMacros?: () => Array<{\n id: string;\n text: string;\n type: MacroType;\n args: string[];\n description?: string;\n }>;\n\n /**\n * Allows custom suggestion kinds to be defined and correlate them with <Custom>StatementPosition.\n * @alpha\n */\n customSuggestionKinds?: SuggestionKindProvider;\n\n /**\n * Allows custom statement placement definition.\n * @alpha\n */\n customStatementPlacement?: StatementPlacementProvider;\n\n /**\n * Allows providing a custom function for resolving schemas.\n * It's up to the consumer to decide whether the schemas are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n schemas?: {\n resolve: () => Promise<SchemaDefinition[]>;\n };\n\n /**\n * Allows providing a custom function for resolving db tables.\n * It's up to the consumer to decide whether the columns are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n tables?: {\n resolve: (TableIdentifier: TableIdentifier | null) => Promise<TableDefinition[]>;\n // Allows providing a custom function for calculating the table name from the query. If not specified a default implementation is used.\n parseName?: (token: LinkedToken | null | undefined) => TableIdentifier;\n };\n /**\n * Allows providing a custom function for resolving table.\n * It's up to the consumer to decide whether the columns are resolved via API calls or preloaded in the query editor(i.e. full db schema is preloaded).\n * @alpha\n */\n columns?: {\n resolve: (identifier?: TableIdentifier) => Promise<ColumnDefinition[]>;\n };\n\n /**\n * TODO: Not sure whether or not we need this. Would like to avoid this kind of flexibility.\n * @alpha\n */\n provideCompletionItems?: (\n model: monacoTypes.editor.ITextModel,\n position: monacoTypes.Position,\n context: monacoTypes.languages.CompletionContext,\n token: monacoTypes.CancellationToken,\n positionContext: PositionContext // Decorates original provideCompletionItems function with our custom statement position context\n ) => monacoTypes.languages.CompletionList;\n}\n\nexport interface SQLMonarchLanguage extends monacoTypes.languages.IMonarchLanguage {\n keywords?: string[];\n builtinFunctions?: string[];\n\n /* Example: AND, OR, LIKE */\n logicalOperators?: string[];\n /* Example: >, <>, = */\n comparisonOperators?: string[];\n\n /** Used by basic languages in the monaco registry **/\n operators?: string[];\n}\n\nexport type StatementPositionResolver = (\n currentToken: LinkedToken | null,\n previousKeyword: LinkedToken | null,\n previousNonWhiteSpace: LinkedToken | null,\n previousIsSlash: Boolean\n) => Boolean;\n\nexport type SuggestionsResolver = <T extends PositionContext = PositionContext>(\n positionContext: T\n) => Promise<CustomSuggestion[]>;\n\nexport type LanguageCompletionProvider = (m: Monaco, l?: SQLMonarchLanguage) => SQLCompletionItemProvider;\n\nexport interface LanguageDefinition extends monacoTypes.languages.ILanguageExtensionPoint {\n loader?: (module: any) => Promise<{\n language: SQLMonarchLanguage;\n conf: monacoTypes.languages.LanguageConfiguration;\n }>;\n // Provides API for customizing the autocomplete\n completionProvider?: (m: Monaco, language: SQLMonarchLanguage) => SQLCompletionItemProvider;\n // Function that returns a formatted query\n formatter?: (q: string) => string;\n}\n\nexport enum OperatorType {\n Comparison,\n Logical,\n}\n\nexport enum MacroType {\n Value,\n Filter,\n Group,\n Column,\n Table,\n}\n\nexport { TokenType } from './utils/tokenType';\n\nexport enum StatementPosition {\n Unknown = 'unknown',\n SelectKeyword = 'selectKeyword',\n WithKeyword = 'withKeyword',\n AfterSelectKeyword = 'afterSelectKeyword',\n AfterSelectArguments = 'afterSelectArguments',\n AfterSelectFuncFirstArgument = 'afterSelectFuncFirstArgument',\n SelectAlias = 'selectAlias',\n AfterFromKeyword = 'afterFromKeyword',\n AfterTable = 'afterTable',\n SchemaFuncFirstArgument = 'schemaFuncFirstArgument',\n SchemaFuncExtraArgument = 'schemaFuncExtraArgument',\n FromKeyword = 'fromKeyword',\n AfterFrom = 'afterFrom',\n WhereKeyword = 'whereKeyword',\n WhereComparisonOperator = 'whereComparisonOperator',\n WhereValue = 'whereValue',\n AfterWhereFunctionArgument = 'afterWhereFunctionArgument',\n AfterGroupByFunctionArgument = 'afterGroupByFunctionArgument',\n AfterWhereValue = 'afterWhereValue',\n AfterGroupByKeywords = 'afterGroupByKeywords',\n AfterGroupBy = 'afterGroupBy',\n AfterOrderByKeywords = 'afterOrderByKeywords',\n AfterOrderByFunction = 'afterOrderByFunction',\n AfterOrderByDirection = 'afterOrderByDirection',\n AfterIsOperator = 'afterIsOperator',\n AfterIsNotOperator = 'afterIsNotOperator',\n AfterSchema = 'afterSchema',\n}\n\nexport enum SuggestionKind {\n Schemas = 'schemas',\n Tables = 'tables',\n Columns = 'columns',\n SelectKeyword = 'selectKeyword',\n WithKeyword = 'withKeyword',\n FunctionsWithArguments = 'functionsWithArguments',\n FromKeyword = 'fromKeyword',\n WhereKeyword = 'whereKeyword',\n GroupByKeywords = 'groupByKeywords',\n OrderByKeywords = 'orderByKeywords',\n FunctionsWithoutArguments = 'functionsWithoutArguments',\n LimitKeyword = 'limitKeyword',\n SortOrderDirectionKeyword = 'sortOrderDirectionKeyword',\n ComparisonOperators = 'comparisonOperators',\n LogicalOperators = 'logicalOperators',\n SelectMacro = 'selectMacro',\n TableMacro = 'tableMacro',\n FilterMacro = 'filterMacro',\n GroupMacro = 'groupMacro',\n BoolValues = 'boolValues',\n NullValue = 'nullValue',\n NotKeyword = 'notKeyword',\n TemplateVariables = 'templateVariables',\n StarWildCard = 'starWildCard',\n}\n\n// TODO: export from grafana/ui\nexport enum CompletionItemPriority {\n High = 'a',\n MediumHigh = 'd',\n Medium = 'g',\n MediumLow = 'k',\n Low = 'q',\n}\n\nexport enum CompletionItemKind {\n Method = 0,\n Function = 1,\n Constructor = 2,\n Field = 3,\n Variable = 4,\n Class = 5,\n Struct = 6,\n Interface = 7,\n Module = 8,\n Property = 9,\n Event = 10,\n Operator = 11,\n Unit = 12,\n Value = 13,\n Constant = 14,\n Enum = 15,\n EnumMember = 16,\n Keyword = 17,\n Text = 18,\n Color = 19,\n File = 20,\n Reference = 21,\n Customcolor = 22,\n Folder = 23,\n TypeParameter = 24,\n User = 25,\n Issue = 26,\n Snippet = 27,\n}\n\nexport enum CompletionItemInsertTextRule {\n KeepWhitespace = 1,\n InsertAsSnippet = 4,\n}\n\nexport enum SQLEditorMode {\n Builder = 'builder',\n Code = 'code',\n}\n"],"names":["OperatorType","MacroType","StatementPosition","SuggestionKind","CompletionItemPriority","CompletionItemKind","CompletionItemInsertTextRule","SQLEditorMode"],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  import '@grafana/ui';
2
2
  import { TokenType } from './tokenType.js';
3
3
 
4
+ var __defProp$4 = Object.defineProperty;
5
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
4
7
  class LinkedToken {
5
8
  constructor(type, value, range, previous, next) {
6
- this.type = type;
7
- this.value = value;
8
- this.range = range;
9
- this.previous = previous;
10
- this.next = next;
9
+ __publicField$4(this, "type", type);
10
+ __publicField$4(this, "value", value);
11
+ __publicField$4(this, "range", range);
12
+ __publicField$4(this, "previous", previous);
13
+ __publicField$4(this, "next", next);
11
14
  }
12
15
  isKeyword() {
13
16
  return this.type === TokenType.Keyword;
@@ -44,7 +47,7 @@ class LinkedToken {
44
47
  }
45
48
  is(type, value) {
46
49
  const isType = this.type === type;
47
- return value !== undefined ? isType && compareTokenWithValue(type, this, value) : isType;
50
+ return value !== void 0 ? isType && compareTokenWithValue(type, this, value) : isType;
48
51
  }
49
52
  getPreviousNonWhiteSpaceToken() {
50
53
  let curr = this.previous;
@@ -60,7 +63,7 @@ class LinkedToken {
60
63
  let curr = this.previous;
61
64
  while (curr != null) {
62
65
  const isType = curr.type === type;
63
- if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {
66
+ if (value !== void 0 ? isType && compareTokenWithValue(type, curr, value) : isType) {
64
67
  return curr;
65
68
  }
66
69
  curr = curr.previous;
@@ -71,12 +74,12 @@ class LinkedToken {
71
74
  let tokens = [];
72
75
  let curr = this.previous;
73
76
  while (curr != null) {
74
- if (ignoreTypes.some((t) => t === (curr == null ? undefined : curr.type))) {
77
+ if (ignoreTypes.some((t) => t === (curr == null ? void 0 : curr.type))) {
75
78
  curr = curr.previous;
76
79
  continue;
77
80
  }
78
81
  const isType = curr.type === type;
79
- if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {
82
+ if (value !== void 0 ? isType && compareTokenWithValue(type, curr, value) : isType) {
80
83
  return tokens;
81
84
  }
82
85
  if (!curr.isWhiteSpace()) {
@@ -90,12 +93,12 @@ class LinkedToken {
90
93
  let tokens = [];
91
94
  let curr = this.next;
92
95
  while (curr != null) {
93
- if (ignoreTypes.some((t) => t === (curr == null ? undefined : curr.type))) {
96
+ if (ignoreTypes.some((t) => t === (curr == null ? void 0 : curr.type))) {
94
97
  curr = curr.next;
95
98
  continue;
96
99
  }
97
100
  const isType = curr.type === type;
98
- if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {
101
+ if (value !== void 0 ? isType && compareTokenWithValue(type, curr, value) : isType) {
99
102
  return tokens;
100
103
  }
101
104
  if (!curr.isWhiteSpace()) {
@@ -129,7 +132,7 @@ class LinkedToken {
129
132
  let curr = this.next;
130
133
  while (curr != null) {
131
134
  const isType = curr.type === type;
132
- if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {
135
+ if (value !== void 0 ? isType && compareTokenWithValue(type, curr, value) : isType) {
133
136
  return curr;
134
137
  }
135
138
  curr = curr.next;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedToken.js","sources":["../../../../../src/components/SQLEditor/utils/LinkedToken.ts"],"sourcesContent":["import { type monacoTypes } from '@grafana/ui';\nimport { TokenType } from './tokenType';\n\nexport class LinkedToken {\n constructor(\n public type: string,\n public value: string,\n public range: monacoTypes.IRange,\n public previous: LinkedToken | null,\n public next: LinkedToken | null\n ) {}\n\n isKeyword(): boolean {\n return this.type === TokenType.Keyword;\n }\n\n isWhiteSpace(): boolean {\n return this.type === TokenType.Whitespace;\n }\n\n isParenthesis(): boolean {\n return this.type === TokenType.Parenthesis;\n }\n\n isIdentifier(): boolean {\n return this.type === TokenType.Identifier;\n }\n\n isString(): boolean {\n return this.type === TokenType.String;\n }\n\n isNumber(): boolean {\n return this.type === TokenType.Number;\n }\n\n isDoubleQuotedString(): boolean {\n return this.type === TokenType.Type;\n }\n\n isVariable(): boolean {\n return this.type === TokenType.Variable;\n }\n\n isFunction(): boolean {\n return this.type === TokenType.Function;\n }\n\n isOperator(): boolean {\n return this.type === TokenType.Operator;\n }\n\n isTemplateVariable(): boolean {\n return this.type === TokenType.Variable;\n }\n\n is(type: TokenType, value?: string | number | boolean): boolean {\n const isType = this.type === type;\n\n return value !== undefined ? isType && compareTokenWithValue(type, this, value) : isType;\n }\n\n getPreviousNonWhiteSpaceToken(): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n if (!curr.isWhiteSpace()) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getPreviousOfType(type: TokenType, value?: string): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getPreviousUntil(type: TokenType, ignoreTypes: TokenType[], value?: string): LinkedToken[] | null {\n let tokens: LinkedToken[] = [];\n let curr = this.previous;\n while (curr != null) {\n if (ignoreTypes.some((t) => t === curr?.type)) {\n curr = curr.previous;\n continue;\n }\n\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return tokens;\n }\n if (!curr.isWhiteSpace()) {\n tokens.push(curr);\n }\n curr = curr.previous;\n }\n\n return tokens;\n }\n\n getNextUntil(type: TokenType, ignoreTypes: TokenType[], value?: string): LinkedToken[] | null {\n let tokens: LinkedToken[] = [];\n let curr = this.next;\n while (curr != null) {\n if (ignoreTypes.some((t) => t === curr?.type)) {\n curr = curr.next;\n continue;\n }\n\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return tokens;\n }\n if (!curr.isWhiteSpace()) {\n tokens.push(curr);\n }\n curr = curr.next;\n }\n\n return tokens;\n }\n\n getPreviousKeyword(): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n if (curr.isKeyword()) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getNextNonWhiteSpaceToken(): LinkedToken | null {\n let curr = this.next;\n while (curr != null) {\n if (!curr.isWhiteSpace()) {\n return curr;\n }\n curr = curr.next;\n }\n return null;\n }\n\n getNextOfType(type: TokenType, value?: string): LinkedToken | null {\n let curr = this.next;\n while (curr != null) {\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return curr;\n }\n curr = curr.next;\n }\n return null;\n }\n}\n\nfunction compareTokenWithValue(type: TokenType, token: LinkedToken, value: string | number | boolean) {\n return type === TokenType.Keyword || type === TokenType.Operator\n ? token.value.toLowerCase() === value.toString().toLowerCase()\n : token.value === value;\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,WAAY,CAAA;AAAA,EACvB,WACS,CAAA,IAAA,EACA,KACA,EAAA,KAAA,EACA,UACA,IACP,EAAA;AALO,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAA,QAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AAAA;AACN,EAEH,SAAqB,GAAA;AACnB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,OAAA;AAAA;AACjC,EAEA,YAAwB,GAAA;AACtB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,UAAA;AAAA;AACjC,EAEA,aAAyB,GAAA;AACvB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,WAAA;AAAA;AACjC,EAEA,YAAwB,GAAA;AACtB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,UAAA;AAAA;AACjC,EAEA,QAAoB,GAAA;AAClB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,MAAA;AAAA;AACjC,EAEA,QAAoB,GAAA;AAClB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,MAAA;AAAA;AACjC,EAEA,oBAAgC,GAAA;AAC9B,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,IAAA;AAAA;AACjC,EAEA,UAAsB,GAAA;AACpB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,QAAA;AAAA;AACjC,EAEA,UAAsB,GAAA;AACpB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,QAAA;AAAA;AACjC,EAEA,UAAsB,GAAA;AACpB,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,QAAA;AAAA;AACjC,EAEA,kBAA8B,GAAA;AAC5B,IAAO,OAAA,IAAA,CAAK,SAAS,SAAU,CAAA,QAAA;AAAA;AACjC,EAEA,EAAA,CAAG,MAAiB,KAA4C,EAAA;AAC9D,IAAM,MAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA;AAE7B,IAAA,OAAO,UAAU,SAAY,GAAA,MAAA,IAAU,sBAAsB,IAAM,EAAA,IAAA,EAAM,KAAK,CAAI,GAAA,MAAA;AAAA;AACpF,EAEA,6BAAoD,GAAA;AAClD,IAAA,IAAI,OAAO,IAAK,CAAA,QAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAI,IAAA,CAAC,IAAK,CAAA,YAAA,EAAgB,EAAA;AACxB,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAA,GAAO,IAAK,CAAA,QAAA;AAAA;AAEd,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,iBAAA,CAAkB,MAAiB,KAAoC,EAAA;AACrE,IAAA,IAAI,OAAO,IAAK,CAAA,QAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAM,MAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA;AAE7B,MAAI,IAAA,KAAA,KAAU,YAAY,MAAU,IAAA,qBAAA,CAAsB,MAAM,IAAM,EAAA,KAAK,IAAI,MAAQ,EAAA;AACrF,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAA,GAAO,IAAK,CAAA,QAAA;AAAA;AAEd,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,gBAAA,CAAiB,IAAiB,EAAA,WAAA,EAA0B,KAAsC,EAAA;AAChG,IAAA,IAAI,SAAwB,EAAC;AAC7B,IAAA,IAAI,OAAO,IAAK,CAAA,QAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAA,IAAI,YAAY,IAAK,CAAA,CAAC,MAAM,CAAM,MAAA,IAAA,IAAA,IAAA,GAAA,SAAA,GAAA,IAAA,CAAM,KAAI,CAAG,EAAA;AAC7C,QAAA,IAAA,GAAO,IAAK,CAAA,QAAA;AACZ,QAAA;AAAA;AAGF,MAAM,MAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA;AAE7B,MAAI,IAAA,KAAA,KAAU,YAAY,MAAU,IAAA,qBAAA,CAAsB,MAAM,IAAM,EAAA,KAAK,IAAI,MAAQ,EAAA;AACrF,QAAO,OAAA,MAAA;AAAA;AAET,MAAI,IAAA,CAAC,IAAK,CAAA,YAAA,EAAgB,EAAA;AACxB,QAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAAA;AAElB,MAAA,IAAA,GAAO,IAAK,CAAA,QAAA;AAAA;AAGd,IAAO,OAAA,MAAA;AAAA;AACT,EAEA,YAAA,CAAa,IAAiB,EAAA,WAAA,EAA0B,KAAsC,EAAA;AAC5F,IAAA,IAAI,SAAwB,EAAC;AAC7B,IAAA,IAAI,OAAO,IAAK,CAAA,IAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAA,IAAI,YAAY,IAAK,CAAA,CAAC,MAAM,CAAM,MAAA,IAAA,IAAA,IAAA,GAAA,SAAA,GAAA,IAAA,CAAM,KAAI,CAAG,EAAA;AAC7C,QAAA,IAAA,GAAO,IAAK,CAAA,IAAA;AACZ,QAAA;AAAA;AAGF,MAAM,MAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA;AAE7B,MAAI,IAAA,KAAA,KAAU,YAAY,MAAU,IAAA,qBAAA,CAAsB,MAAM,IAAM,EAAA,KAAK,IAAI,MAAQ,EAAA;AACrF,QAAO,OAAA,MAAA;AAAA;AAET,MAAI,IAAA,CAAC,IAAK,CAAA,YAAA,EAAgB,EAAA;AACxB,QAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAAA;AAElB,MAAA,IAAA,GAAO,IAAK,CAAA,IAAA;AAAA;AAGd,IAAO,OAAA,MAAA;AAAA;AACT,EAEA,kBAAyC,GAAA;AACvC,IAAA,IAAI,OAAO,IAAK,CAAA,QAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAI,IAAA,IAAA,CAAK,WAAa,EAAA;AACpB,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAA,GAAO,IAAK,CAAA,QAAA;AAAA;AAEd,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,yBAAgD,GAAA;AAC9C,IAAA,IAAI,OAAO,IAAK,CAAA,IAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAI,IAAA,CAAC,IAAK,CAAA,YAAA,EAAgB,EAAA;AACxB,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAA,GAAO,IAAK,CAAA,IAAA;AAAA;AAEd,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,aAAA,CAAc,MAAiB,KAAoC,EAAA;AACjE,IAAA,IAAI,OAAO,IAAK,CAAA,IAAA;AAChB,IAAA,OAAO,QAAQ,IAAM,EAAA;AACnB,MAAM,MAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA;AAE7B,MAAI,IAAA,KAAA,KAAU,YAAY,MAAU,IAAA,qBAAA,CAAsB,MAAM,IAAM,EAAA,KAAK,IAAI,MAAQ,EAAA;AACrF,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAA,GAAO,IAAK,CAAA,IAAA;AAAA;AAEd,IAAO,OAAA,IAAA;AAAA;AAEX;AAEA,SAAS,qBAAA,CAAsB,IAAiB,EAAA,KAAA,EAAoB,KAAkC,EAAA;AACpG,EAAA,OAAO,SAAS,SAAU,CAAA,OAAA,IAAW,IAAS,KAAA,SAAA,CAAU,WACpD,KAAM,CAAA,KAAA,CAAM,WAAY,EAAA,KAAM,MAAM,QAAS,EAAA,CAAE,WAAY,EAAA,GAC3D,MAAM,KAAU,KAAA,KAAA;AACtB;;;;"}
1
+ {"version":3,"file":"LinkedToken.js","sources":["../../../../../src/components/SQLEditor/utils/LinkedToken.ts"],"sourcesContent":["import { type monacoTypes } from '@grafana/ui';\nimport { TokenType } from './tokenType';\n\nexport class LinkedToken {\n constructor(\n public type: string,\n public value: string,\n public range: monacoTypes.IRange,\n public previous: LinkedToken | null,\n public next: LinkedToken | null\n ) {}\n\n isKeyword(): boolean {\n return this.type === TokenType.Keyword;\n }\n\n isWhiteSpace(): boolean {\n return this.type === TokenType.Whitespace;\n }\n\n isParenthesis(): boolean {\n return this.type === TokenType.Parenthesis;\n }\n\n isIdentifier(): boolean {\n return this.type === TokenType.Identifier;\n }\n\n isString(): boolean {\n return this.type === TokenType.String;\n }\n\n isNumber(): boolean {\n return this.type === TokenType.Number;\n }\n\n isDoubleQuotedString(): boolean {\n return this.type === TokenType.Type;\n }\n\n isVariable(): boolean {\n return this.type === TokenType.Variable;\n }\n\n isFunction(): boolean {\n return this.type === TokenType.Function;\n }\n\n isOperator(): boolean {\n return this.type === TokenType.Operator;\n }\n\n isTemplateVariable(): boolean {\n return this.type === TokenType.Variable;\n }\n\n is(type: TokenType, value?: string | number | boolean): boolean {\n const isType = this.type === type;\n\n return value !== undefined ? isType && compareTokenWithValue(type, this, value) : isType;\n }\n\n getPreviousNonWhiteSpaceToken(): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n if (!curr.isWhiteSpace()) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getPreviousOfType(type: TokenType, value?: string): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getPreviousUntil(type: TokenType, ignoreTypes: TokenType[], value?: string): LinkedToken[] | null {\n let tokens: LinkedToken[] = [];\n let curr = this.previous;\n while (curr != null) {\n if (ignoreTypes.some((t) => t === curr?.type)) {\n curr = curr.previous;\n continue;\n }\n\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return tokens;\n }\n if (!curr.isWhiteSpace()) {\n tokens.push(curr);\n }\n curr = curr.previous;\n }\n\n return tokens;\n }\n\n getNextUntil(type: TokenType, ignoreTypes: TokenType[], value?: string): LinkedToken[] | null {\n let tokens: LinkedToken[] = [];\n let curr = this.next;\n while (curr != null) {\n if (ignoreTypes.some((t) => t === curr?.type)) {\n curr = curr.next;\n continue;\n }\n\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return tokens;\n }\n if (!curr.isWhiteSpace()) {\n tokens.push(curr);\n }\n curr = curr.next;\n }\n\n return tokens;\n }\n\n getPreviousKeyword(): LinkedToken | null {\n let curr = this.previous;\n while (curr != null) {\n if (curr.isKeyword()) {\n return curr;\n }\n curr = curr.previous;\n }\n return null;\n }\n\n getNextNonWhiteSpaceToken(): LinkedToken | null {\n let curr = this.next;\n while (curr != null) {\n if (!curr.isWhiteSpace()) {\n return curr;\n }\n curr = curr.next;\n }\n return null;\n }\n\n getNextOfType(type: TokenType, value?: string): LinkedToken | null {\n let curr = this.next;\n while (curr != null) {\n const isType = curr.type === type;\n\n if (value !== undefined ? isType && compareTokenWithValue(type, curr, value) : isType) {\n return curr;\n }\n curr = curr.next;\n }\n return null;\n }\n}\n\nfunction compareTokenWithValue(type: TokenType, token: LinkedToken, value: string | number | boolean) {\n return type === TokenType.Keyword || type === TokenType.Operator\n ? token.value.toLowerCase() === value.toString().toLowerCase()\n : token.value === value;\n}\n"],"names":["__publicField"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sources":["../../../../../src/components/SQLEditor/utils/commands.ts"],"sourcesContent":["export const TRIGGER_SUGGEST = {\n id: 'editor.action.triggerSuggest',\n title: '',\n};\n"],"names":[],"mappings":"AAAO,MAAM,eAAkB,GAAA;AAAA,EAC7B,EAAI,EAAA,8BAAA;AAAA,EACJ,KAAO,EAAA;AACT;;;;"}
1
+ {"version":3,"file":"commands.js","sources":["../../../../../src/components/SQLEditor/utils/commands.ts"],"sourcesContent":["export const TRIGGER_SUGGEST = {\n id: 'editor.action.triggerSuggest',\n title: '',\n};\n"],"names":[],"mappings":"AAAO,MAAM,eAAA,GAAkB;AAAA,EAC7B,EAAA,EAAI,8BAAA;AAAA,EACJ,KAAA,EAAO;AACT;;;;"}
@@ -7,7 +7,7 @@ let sqlEditorLog = () => {
7
7
  if (attachDebugger && createLogger) {
8
8
  sqlEditorLogger = createLogger("SQLEditor");
9
9
  sqlEditorLog = sqlEditorLogger.logger;
10
- attachDebugger("sqleditor", undefined, sqlEditorLogger);
10
+ attachDebugger("sqleditor", void 0, sqlEditorLogger);
11
11
  }
12
12
 
13
13
  export { sqlEditorLog, sqlEditorLogger };
@@ -1 +1 @@
1
- {"version":3,"file":"debugger.js","sources":["../../../../../src/components/SQLEditor/utils/debugger.ts"],"sourcesContent":["import { attachDebugger, createLogger } from '@grafana/ui';\n\nlet sqlEditorLogger = { logger: () => {} };\nlet sqlEditorLog: (...t: any[]) => void = () => {};\n\nif (attachDebugger && createLogger) {\n sqlEditorLogger = createLogger('SQLEditor');\n sqlEditorLog = sqlEditorLogger.logger;\n attachDebugger('sqleditor', undefined, sqlEditorLogger as any);\n}\n\nexport { sqlEditorLog, sqlEditorLogger };\n"],"names":[],"mappings":";;AAEI,IAAA,eAAA,GAAkB,EAAE,MAAA,EAAQ,MAAM;AAAC,CAAE;AACzC,IAAI,eAAsC,MAAM;AAAC;AAEjD,IAAI,kBAAkB,YAAc,EAAA;AAClC,EAAA,eAAA,GAAkB,aAAa,WAAW,CAAA;AAC1C,EAAA,YAAA,GAAe,eAAgB,CAAA,MAAA;AAC/B,EAAe,cAAA,CAAA,WAAA,EAAa,WAAW,eAAsB,CAAA;AAC/D;;;;"}
1
+ {"version":3,"file":"debugger.js","sources":["../../../../../src/components/SQLEditor/utils/debugger.ts"],"sourcesContent":["import { attachDebugger, createLogger } from '@grafana/ui';\n\nlet sqlEditorLogger = { logger: () => {} };\nlet sqlEditorLog: (...t: any[]) => void = () => {};\n\nif (attachDebugger && createLogger) {\n sqlEditorLogger = createLogger('SQLEditor');\n sqlEditorLog = sqlEditorLogger.logger;\n attachDebugger('sqleditor', undefined, sqlEditorLogger as any);\n}\n\nexport { sqlEditorLog, sqlEditorLogger };\n"],"names":[],"mappings":";;AAEA,IAAI,eAAA,GAAkB,EAAE,MAAA,EAAQ,MAAM;AAAC,CAAA;AACvC,IAAI,eAAsC,MAAM;AAAC;AAEjD,IAAI,kBAAkB,YAAA,EAAc;AAClC,EAAA,eAAA,GAAkB,aAAa,WAAW,CAAA;AAC1C,EAAA,YAAA,GAAe,eAAA,CAAgB,MAAA;AAC/B,EAAA,cAAA,CAAe,WAAA,EAAa,QAAW,eAAsB,CAAA;AAC/D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSuggestionKind.js","sources":["../../../../../src/components/SQLEditor/utils/getSuggestionKind.ts"],"sourcesContent":["import { type Registry } from '@grafana/data';\nimport { type SuggestionKindRegistryItem } from '../standardSql/suggestionsKindRegistry';\nimport { type StatementPosition, type SuggestionKind } from '../types';\n\n/**\n * Given statement positions, returns list of suggestion kinds that apply to those positions.\n */\nexport function getSuggestionKinds(\n statementPosition: StatementPosition[],\n suggestionsKindRegistry: Registry<SuggestionKindRegistryItem>\n): SuggestionKind[] {\n let result: SuggestionKind[] = [];\n for (let i = 0; i < statementPosition.length; i++) {\n const exists = suggestionsKindRegistry.getIfExists(statementPosition[i]);\n if (exists) {\n result = result.concat(exists.kind);\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":";;;AAOgB,SAAA,kBAAA,CACd,mBACA,uBACkB,EAAA;AAClB,EAAA,IAAI,SAA2B,EAAC;AAChC,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,iBAAA,CAAkB,QAAQ,CAAK,EAAA,EAAA;AACjD,IAAA,MAAM,MAAS,GAAA,uBAAA,CAAwB,WAAY,CAAA,iBAAA,CAAkB,CAAC,CAAC,CAAA;AACvE,IAAA,IAAI,MAAQ,EAAA;AACV,MAAS,MAAA,GAAA,MAAA,CAAO,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AAAA;AACpC;AAGF,EAAO,OAAA,MAAA;AACT;;;;"}
1
+ {"version":3,"file":"getSuggestionKind.js","sources":["../../../../../src/components/SQLEditor/utils/getSuggestionKind.ts"],"sourcesContent":["import { type Registry } from '@grafana/data';\nimport { type SuggestionKindRegistryItem } from '../standardSql/suggestionsKindRegistry';\nimport { type StatementPosition, type SuggestionKind } from '../types';\n\n/**\n * Given statement positions, returns list of suggestion kinds that apply to those positions.\n */\nexport function getSuggestionKinds(\n statementPosition: StatementPosition[],\n suggestionsKindRegistry: Registry<SuggestionKindRegistryItem>\n): SuggestionKind[] {\n let result: SuggestionKind[] = [];\n for (let i = 0; i < statementPosition.length; i++) {\n const exists = suggestionsKindRegistry.getIfExists(statementPosition[i]);\n if (exists) {\n result = result.concat(exists.kind);\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":";;;AAOO,SAAS,kBAAA,CACd,mBACA,uBAAA,EACkB;AAClB,EAAA,IAAI,SAA2B,EAAC;AAChC,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,iBAAA,CAAkB,QAAQ,CAAA,EAAA,EAAK;AACjD,IAAA,MAAM,MAAA,GAAS,uBAAA,CAAwB,WAAA,CAAY,iBAAA,CAAkB,CAAC,CAAC,CAAA;AACvE,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA;AAAA,IACpC;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}
@@ -14,7 +14,7 @@ function linkedTokenBuilder(monaco, model, position, languageId = "sql") {
14
14
  offset: 0,
15
15
  type: TokenType.Whitespace,
16
16
  language: languageId,
17
- _tokenBrand: undefined
17
+ _tokenBrand: void 0
18
18
  };
19
19
  tokens.push(token);
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linkedTokenBuilder.js","sources":["../../../../../src/components/SQLEditor/utils/linkedTokenBuilder.ts"],"sourcesContent":["import type { monacoTypes } from '@grafana/ui';\nimport { TokenType } from '../types';\nimport { LinkedToken } from './LinkedToken';\nimport { type Monaco } from './types';\n\nexport function linkedTokenBuilder(\n monaco: Monaco,\n model: monacoTypes.editor.ITextModel,\n position: monacoTypes.IPosition,\n languageId = 'sql'\n) {\n let current: LinkedToken | null = null;\n let previous: LinkedToken | null = null;\n const tokensPerLine = monaco.editor.tokenize(model.getValue() ?? '', languageId);\n for (let lineIndex = 0; lineIndex < tokensPerLine.length; lineIndex++) {\n const tokens = tokensPerLine[lineIndex];\n // In case position is first column in new line, add empty whitespace token so that links are not broken\n if (!tokens.length && previous) {\n const token: monacoTypes.Token = {\n offset: 0,\n type: TokenType.Whitespace,\n language: languageId,\n _tokenBrand: undefined,\n };\n tokens.push(token);\n }\n\n for (let columnIndex = 0; columnIndex < tokens.length; columnIndex++) {\n const token = tokens[columnIndex];\n let endColumn =\n tokens.length > columnIndex + 1 ? tokens[columnIndex + 1].offset + 1 : model.getLineLength(lineIndex + 1) + 1;\n\n const range: monacoTypes.IRange = {\n startLineNumber: lineIndex + 1,\n startColumn: token.offset === 0 ? 0 : token.offset + 1,\n endLineNumber: lineIndex + 1,\n endColumn,\n };\n\n const value = model.getValueInRange(range);\n const sqlToken: LinkedToken = new LinkedToken(token.type, value, range, previous, null);\n\n if (monaco.Range.containsPosition(range, position)) {\n current = sqlToken;\n }\n\n if (previous) {\n previous.next = sqlToken;\n }\n previous = sqlToken;\n }\n }\n return current;\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,kBACd,CAAA,MAAA,EACA,KACA,EAAA,QAAA,EACA,aAAa,KACb,EAAA;AAVF,EAAA,IAAA,EAAA;AAWE,EAAA,IAAI,OAA8B,GAAA,IAAA;AAClC,EAAA,IAAI,QAA+B,GAAA,IAAA;AACnC,EAAM,MAAA,aAAA,GAAgB,OAAO,MAAO,CAAA,QAAA,CAAA,CAAS,WAAM,QAAS,EAAA,KAAf,IAAoB,GAAA,EAAA,GAAA,EAAA,EAAI,UAAU,CAAA;AAC/E,EAAA,KAAA,IAAS,SAAY,GAAA,CAAA,EAAG,SAAY,GAAA,aAAA,CAAc,QAAQ,SAAa,EAAA,EAAA;AACrE,IAAM,MAAA,MAAA,GAAS,cAAc,SAAS,CAAA;AAEtC,IAAI,IAAA,CAAC,MAAO,CAAA,MAAA,IAAU,QAAU,EAAA;AAC9B,MAAA,MAAM,KAA2B,GAAA;AAAA,QAC/B,MAAQ,EAAA,CAAA;AAAA,QACR,MAAM,SAAU,CAAA,UAAA;AAAA,QAChB,QAAU,EAAA,UAAA;AAAA,QACV,WAAa,EAAA;AAAA,OACf;AACA,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA;AAGnB,IAAA,KAAA,IAAS,WAAc,GAAA,CAAA,EAAG,WAAc,GAAA,MAAA,CAAO,QAAQ,WAAe,EAAA,EAAA;AACpE,MAAM,MAAA,KAAA,GAAQ,OAAO,WAAW,CAAA;AAChC,MAAA,IAAI,SACF,GAAA,MAAA,CAAO,MAAS,GAAA,WAAA,GAAc,IAAI,MAAO,CAAA,WAAA,GAAc,CAAC,CAAA,CAAE,SAAS,CAAI,GAAA,KAAA,CAAM,aAAc,CAAA,SAAA,GAAY,CAAC,CAAI,GAAA,CAAA;AAE9G,MAAA,MAAM,KAA4B,GAAA;AAAA,QAChC,iBAAiB,SAAY,GAAA,CAAA;AAAA,QAC7B,aAAa,KAAM,CAAA,MAAA,KAAW,CAAI,GAAA,CAAA,GAAI,MAAM,MAAS,GAAA,CAAA;AAAA,QACrD,eAAe,SAAY,GAAA,CAAA;AAAA,QAC3B;AAAA,OACF;AAEA,MAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,eAAA,CAAgB,KAAK,CAAA;AACzC,MAAM,MAAA,QAAA,GAAwB,IAAI,WAAY,CAAA,KAAA,CAAM,MAAM,KAAO,EAAA,KAAA,EAAO,UAAU,IAAI,CAAA;AAEtF,MAAA,IAAI,MAAO,CAAA,KAAA,CAAM,gBAAiB,CAAA,KAAA,EAAO,QAAQ,CAAG,EAAA;AAClD,QAAU,OAAA,GAAA,QAAA;AAAA;AAGZ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,IAAO,GAAA,QAAA;AAAA;AAElB,MAAW,QAAA,GAAA,QAAA;AAAA;AACb;AAEF,EAAO,OAAA,OAAA;AACT;;;;"}
1
+ {"version":3,"file":"linkedTokenBuilder.js","sources":["../../../../../src/components/SQLEditor/utils/linkedTokenBuilder.ts"],"sourcesContent":["import type { monacoTypes } from '@grafana/ui';\nimport { TokenType } from '../types';\nimport { LinkedToken } from './LinkedToken';\nimport { type Monaco } from './types';\n\nexport function linkedTokenBuilder(\n monaco: Monaco,\n model: monacoTypes.editor.ITextModel,\n position: monacoTypes.IPosition,\n languageId = 'sql'\n) {\n let current: LinkedToken | null = null;\n let previous: LinkedToken | null = null;\n const tokensPerLine = monaco.editor.tokenize(model.getValue() ?? '', languageId);\n for (let lineIndex = 0; lineIndex < tokensPerLine.length; lineIndex++) {\n const tokens = tokensPerLine[lineIndex];\n // In case position is first column in new line, add empty whitespace token so that links are not broken\n if (!tokens.length && previous) {\n const token: monacoTypes.Token = {\n offset: 0,\n type: TokenType.Whitespace,\n language: languageId,\n _tokenBrand: undefined,\n };\n tokens.push(token);\n }\n\n for (let columnIndex = 0; columnIndex < tokens.length; columnIndex++) {\n const token = tokens[columnIndex];\n let endColumn =\n tokens.length > columnIndex + 1 ? tokens[columnIndex + 1].offset + 1 : model.getLineLength(lineIndex + 1) + 1;\n\n const range: monacoTypes.IRange = {\n startLineNumber: lineIndex + 1,\n startColumn: token.offset === 0 ? 0 : token.offset + 1,\n endLineNumber: lineIndex + 1,\n endColumn,\n };\n\n const value = model.getValueInRange(range);\n const sqlToken: LinkedToken = new LinkedToken(token.type, value, range, previous, null);\n\n if (monaco.Range.containsPosition(range, position)) {\n current = sqlToken;\n }\n\n if (previous) {\n previous.next = sqlToken;\n }\n previous = sqlToken;\n }\n }\n return current;\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,kBAAA,CACd,MAAA,EACA,KAAA,EACA,QAAA,EACA,aAAa,KAAA,EACb;AAVF,EAAA,IAAA,EAAA;AAWE,EAAA,IAAI,OAAA,GAA8B,IAAA;AAClC,EAAA,IAAI,QAAA,GAA+B,IAAA;AACnC,EAAA,MAAM,aAAA,GAAgB,OAAO,MAAA,CAAO,QAAA,CAAA,CAAS,WAAM,QAAA,EAAS,KAAf,IAAA,GAAA,EAAA,GAAoB,EAAA,EAAI,UAAU,CAAA;AAC/E,EAAA,KAAA,IAAS,SAAA,GAAY,CAAA,EAAG,SAAA,GAAY,aAAA,CAAc,QAAQ,SAAA,EAAA,EAAa;AACrE,IAAA,MAAM,MAAA,GAAS,cAAc,SAAS,CAAA;AAEtC,IAAA,IAAI,CAAC,MAAA,CAAO,MAAA,IAAU,QAAA,EAAU;AAC9B,MAAA,MAAM,KAAA,GAA2B;AAAA,QAC/B,MAAA,EAAQ,CAAA;AAAA,QACR,MAAM,SAAA,CAAU,UAAA;AAAA,QAChB,QAAA,EAAU,UAAA;AAAA,QACV,WAAA,EAAa;AAAA,OACf;AACA,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,IACnB;AAEA,IAAA,KAAA,IAAS,WAAA,GAAc,CAAA,EAAG,WAAA,GAAc,MAAA,CAAO,QAAQ,WAAA,EAAA,EAAe;AACpE,MAAA,MAAM,KAAA,GAAQ,OAAO,WAAW,CAAA;AAChC,MAAA,IAAI,SAAA,GACF,MAAA,CAAO,MAAA,GAAS,WAAA,GAAc,IAAI,MAAA,CAAO,WAAA,GAAc,CAAC,CAAA,CAAE,SAAS,CAAA,GAAI,KAAA,CAAM,aAAA,CAAc,SAAA,GAAY,CAAC,CAAA,GAAI,CAAA;AAE9G,MAAA,MAAM,KAAA,GAA4B;AAAA,QAChC,iBAAiB,SAAA,GAAY,CAAA;AAAA,QAC7B,aAAa,KAAA,CAAM,MAAA,KAAW,CAAA,GAAI,CAAA,GAAI,MAAM,MAAA,GAAS,CAAA;AAAA,QACrD,eAAe,SAAA,GAAY,CAAA;AAAA,QAC3B;AAAA,OACF;AAEA,MAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,eAAA,CAAgB,KAAK,CAAA;AACzC,MAAA,MAAM,QAAA,GAAwB,IAAI,WAAA,CAAY,KAAA,CAAM,MAAM,KAAA,EAAO,KAAA,EAAO,UAAU,IAAI,CAAA;AAEtF,MAAA,IAAI,MAAA,CAAO,KAAA,CAAM,gBAAA,CAAiB,KAAA,EAAO,QAAQ,CAAA,EAAG;AAClD,QAAA,OAAA,GAAU,QAAA;AAAA,MACZ;AAEA,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,IAAA,GAAO,QAAA;AAAA,MAClB;AACA,MAAA,QAAA,GAAW,QAAA;AAAA,IACb;AAAA,EACF;AACA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
1
  import '@grafana/ui';
2
- import { CompletionItemKind, CompletionItemPriority } from '../types.js';
2
+ import { CompletionItemPriority, CompletionItemKind } from '../types.js';
3
3
 
4
4
  const toCompletionItem = (value, range, rest = {}) => {
5
5
  const item = {
@@ -1 +1 @@
1
- {"version":3,"file":"toCompletionItem.js","sources":["../../../../../src/components/SQLEditor/utils/toCompletionItem.ts"],"sourcesContent":["import { type monacoTypes } from '@grafana/ui';\nimport { CompletionItemKind, CompletionItemPriority } from '../types';\n\nexport const toCompletionItem = (\n value: string,\n range: monacoTypes.IRange,\n rest: Partial<monacoTypes.languages.CompletionItem> = {}\n) => {\n const item: monacoTypes.languages.CompletionItem = {\n label: value,\n insertText: value,\n kind: CompletionItemKind.Field,\n sortText: CompletionItemPriority.Medium,\n range,\n ...rest,\n };\n return item;\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,CAC9B,KAAA,EACA,KACA,EAAA,IAAA,GAAsD,EACnD,KAAA;AACH,EAAA,MAAM,IAA6C,GAAA;AAAA,IACjD,KAAO,EAAA,KAAA;AAAA,IACP,UAAY,EAAA,KAAA;AAAA,IACZ,MAAM,kBAAmB,CAAA,KAAA;AAAA,IACzB,UAAU,sBAAuB,CAAA,MAAA;AAAA,IACjC,KAAA;AAAA,IACA,GAAG;AAAA,GACL;AACA,EAAO,OAAA,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"toCompletionItem.js","sources":["../../../../../src/components/SQLEditor/utils/toCompletionItem.ts"],"sourcesContent":["import { type monacoTypes } from '@grafana/ui';\nimport { CompletionItemKind, CompletionItemPriority } from '../types';\n\nexport const toCompletionItem = (\n value: string,\n range: monacoTypes.IRange,\n rest: Partial<monacoTypes.languages.CompletionItem> = {}\n) => {\n const item: monacoTypes.languages.CompletionItem = {\n label: value,\n insertText: value,\n kind: CompletionItemKind.Field,\n sortText: CompletionItemPriority.Medium,\n range,\n ...rest,\n };\n return item;\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,CAC9B,KAAA,EACA,KAAA,EACA,IAAA,GAAsD,EAAC,KACpD;AACH,EAAA,MAAM,IAAA,GAA6C;AAAA,IACjD,KAAA,EAAO,KAAA;AAAA,IACP,UAAA,EAAY,KAAA;AAAA,IACZ,MAAM,kBAAA,CAAmB,KAAA;AAAA,IACzB,UAAU,sBAAA,CAAuB,MAAA;AAAA,IACjC,KAAA;AAAA,IACA,GAAG;AAAA,GACL;AACA,EAAA,OAAO,IAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenType.js","sources":["../../../../../src/components/SQLEditor/utils/tokenType.ts"],"sourcesContent":["export enum TokenType {\n Parenthesis = 'delimiter.parenthesis.sql',\n Whitespace = 'white.sql',\n Keyword = 'keyword.sql',\n Delimiter = 'delimiter.sql',\n Operator = 'operator.sql',\n Identifier = 'identifier.sql',\n IdentifierQuote = 'identifier.quote.sql',\n Type = 'type.sql',\n Function = 'predefined.sql',\n Number = 'number.sql',\n String = 'string.sql',\n Variable = 'variable.sql',\n}\n"],"names":["TokenType"],"mappings":"AAAY,IAAA,SAAA,qBAAAA,UAAL,KAAA;AACL,EAAAA,WAAA,aAAc,CAAA,GAAA,2BAAA;AACd,EAAAA,WAAA,YAAa,CAAA,GAAA,WAAA;AACb,EAAAA,WAAA,SAAU,CAAA,GAAA,aAAA;AACV,EAAAA,WAAA,WAAY,CAAA,GAAA,eAAA;AACZ,EAAAA,WAAA,UAAW,CAAA,GAAA,cAAA;AACX,EAAAA,WAAA,YAAa,CAAA,GAAA,gBAAA;AACb,EAAAA,WAAA,iBAAkB,CAAA,GAAA,sBAAA;AAClB,EAAAA,WAAA,MAAO,CAAA,GAAA,UAAA;AACP,EAAAA,WAAA,UAAW,CAAA,GAAA,gBAAA;AACX,EAAAA,WAAA,QAAS,CAAA,GAAA,YAAA;AACT,EAAAA,WAAA,QAAS,CAAA,GAAA,YAAA;AACT,EAAAA,WAAA,UAAW,CAAA,GAAA,cAAA;AAZD,EAAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"tokenType.js","sources":["../../../../../src/components/SQLEditor/utils/tokenType.ts"],"sourcesContent":["export enum TokenType {\n Parenthesis = 'delimiter.parenthesis.sql',\n Whitespace = 'white.sql',\n Keyword = 'keyword.sql',\n Delimiter = 'delimiter.sql',\n Operator = 'operator.sql',\n Identifier = 'identifier.sql',\n IdentifierQuote = 'identifier.quote.sql',\n Type = 'type.sql',\n Function = 'predefined.sql',\n Number = 'number.sql',\n String = 'string.sql',\n Variable = 'variable.sql',\n}\n"],"names":["TokenType"],"mappings":"AAAO,IAAK,SAAA,qBAAAA,UAAAA,KAAL;AACL,EAAAA,WAAA,aAAA,CAAA,GAAc,2BAAA;AACd,EAAAA,WAAA,YAAA,CAAA,GAAa,WAAA;AACb,EAAAA,WAAA,SAAA,CAAA,GAAU,aAAA;AACV,EAAAA,WAAA,WAAA,CAAA,GAAY,eAAA;AACZ,EAAAA,WAAA,UAAA,CAAA,GAAW,cAAA;AACX,EAAAA,WAAA,YAAA,CAAA,GAAa,gBAAA;AACb,EAAAA,WAAA,iBAAA,CAAA,GAAkB,sBAAA;AAClB,EAAAA,WAAA,MAAA,CAAA,GAAO,UAAA;AACP,EAAAA,WAAA,UAAA,CAAA,GAAW,gBAAA;AACX,EAAAA,WAAA,QAAA,CAAA,GAAS,YAAA;AACT,EAAAA,WAAA,QAAA,CAAA,GAAS,YAAA;AACT,EAAAA,WAAA,UAAA,CAAA,GAAW,cAAA;AAZD,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;;"}
@@ -4,31 +4,31 @@ import { TokenType } from './tokenType.js';
4
4
 
5
5
  const getSelectToken = (currentToken) => {
6
6
  var _a;
7
- return (_a = currentToken == null ? undefined : currentToken.getPreviousOfType(TokenType.Keyword, SELECT)) != null ? _a : null;
7
+ return (_a = currentToken == null ? void 0 : currentToken.getPreviousOfType(TokenType.Keyword, SELECT)) != null ? _a : null;
8
8
  };
9
9
  const getFromKeywordToken = (currentToken) => {
10
10
  const selectToken = getSelectToken(currentToken);
11
- return selectToken == null ? undefined : selectToken.getNextOfType(TokenType.Keyword, FROM);
11
+ return selectToken == null ? void 0 : selectToken.getNextOfType(TokenType.Keyword, FROM);
12
12
  };
13
13
  const getTableToken = (currentToken) => {
14
14
  var _a;
15
15
  const fromToken = getFromKeywordToken(currentToken);
16
- const nextNonWhiteSpace = fromToken == null ? undefined : fromToken.getNextNonWhiteSpaceToken();
17
- if (nextNonWhiteSpace == null ? undefined : nextNonWhiteSpace.isVariable()) {
16
+ const nextNonWhiteSpace = fromToken == null ? void 0 : fromToken.getNextNonWhiteSpaceToken();
17
+ if (nextNonWhiteSpace == null ? void 0 : nextNonWhiteSpace.isVariable()) {
18
18
  return null;
19
- } else if ((nextNonWhiteSpace == null ? undefined : nextNonWhiteSpace.isKeyword()) && ((_a = nextNonWhiteSpace.next) == null ? undefined : _a.is(TokenType.Parenthesis, "("))) {
19
+ } else if ((nextNonWhiteSpace == null ? void 0 : nextNonWhiteSpace.isKeyword()) && ((_a = nextNonWhiteSpace.next) == null ? void 0 : _a.is(TokenType.Parenthesis, "("))) {
20
20
  return null;
21
21
  } else {
22
22
  return nextNonWhiteSpace;
23
23
  }
24
24
  };
25
25
  const defaultTableNameParser = (token) => {
26
- const parts = token == null ? undefined : token.value.split(".");
27
- if ((parts == null ? undefined : parts.length) === 1) {
26
+ const parts = token == null ? void 0 : token.value.split(".");
27
+ if ((parts == null ? void 0 : parts.length) === 1) {
28
28
  return { table: parts[0] };
29
- } else if ((parts == null ? undefined : parts.length) === 2) {
29
+ } else if ((parts == null ? void 0 : parts.length) === 2) {
30
30
  return { schema: parts[0], table: parts[1] };
31
- } else if ((parts == null ? undefined : parts.length) === 3) {
31
+ } else if ((parts == null ? void 0 : parts.length) === 3) {
32
32
  return { catalog: parts[0], schema: parts[1], table: parts[2] };
33
33
  }
34
34
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenUtils.js","sources":["../../../../../src/components/SQLEditor/utils/tokenUtils.ts"],"sourcesContent":["import { FROM, SCHEMA, SELECT } from '../standardSql/language';\nimport { TokenType } from '../types';\nimport { type LinkedToken } from './LinkedToken';\n\nexport const getSelectToken = (currentToken: LinkedToken | null) =>\n currentToken?.getPreviousOfType(TokenType.Keyword, SELECT) ?? null;\n\nexport const getSelectStatisticToken = (currentToken: LinkedToken | null) => {\n const assumedStatisticToken = getSelectToken(currentToken)?.getNextNonWhiteSpaceToken();\n return assumedStatisticToken?.isVariable() || assumedStatisticToken?.isFunction() ? assumedStatisticToken : null;\n};\n\nexport const getMetricNameToken = (currentToken: LinkedToken | null) => {\n // statistic function is followed by `(` and then an argument\n const assumedMetricNameToken = getSelectStatisticToken(currentToken)?.next?.next;\n return assumedMetricNameToken?.isVariable() || assumedMetricNameToken?.isIdentifier() ? assumedMetricNameToken : null;\n};\n\nexport const getFromKeywordToken = (currentToken: LinkedToken | null) => {\n const selectToken = getSelectToken(currentToken);\n return selectToken?.getNextOfType(TokenType.Keyword, FROM);\n};\n\nexport const getNamespaceToken = (currentToken: LinkedToken | null) => {\n const fromToken = getFromKeywordToken(currentToken);\n const nextNonWhiteSpace = fromToken?.getNextNonWhiteSpaceToken();\n\n if (\n nextNonWhiteSpace?.isDoubleQuotedString() ||\n (nextNonWhiteSpace?.isVariable() && nextNonWhiteSpace?.value.toUpperCase() !== SCHEMA)\n ) {\n // schema is not used\n return nextNonWhiteSpace;\n } else if (nextNonWhiteSpace?.isKeyword() && nextNonWhiteSpace.next?.is(TokenType.Parenthesis, '(')) {\n // schema is specified\n const assumedNamespaceToken = nextNonWhiteSpace.next?.next;\n if (assumedNamespaceToken?.isDoubleQuotedString() || assumedNamespaceToken?.isVariable()) {\n return assumedNamespaceToken;\n }\n }\n return null;\n};\nexport const getTableToken = (currentToken: LinkedToken | null) => {\n const fromToken = getFromKeywordToken(currentToken);\n const nextNonWhiteSpace = fromToken?.getNextNonWhiteSpaceToken();\n if (nextNonWhiteSpace?.isVariable()) {\n // TODO: resolve column from variable?\n return null;\n } else if (nextNonWhiteSpace?.isKeyword() && nextNonWhiteSpace.next?.is(TokenType.Parenthesis, '(')) {\n return null;\n } else {\n return nextNonWhiteSpace;\n }\n};\n\nexport const defaultTableNameParser = (token: LinkedToken | null | undefined) => {\n const parts = token?.value.split('.');\n\n if (parts?.length === 1) {\n return { table: parts[0] };\n } else if (parts?.length === 2) {\n return { schema: parts[0], table: parts[1] };\n } else if (parts?.length === 3) {\n return { catalog: parts[0], schema: parts[1], table: parts[2] };\n }\n\n return null;\n};\n"],"names":[],"mappings":";;;;AAIa,MAAA,cAAA,GAAiB,CAAC,YAAkC,KAAA;AAJjE,EAAA,IAAA,EAAA;AAKE,EAAA,OAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,SAAA,GAAA,YAAA,CAAc,iBAAkB,CAAA,SAAA,CAAU,OAAS,EAAA,MAAA,CAAA,KAAnD,IAA8D,GAAA,EAAA,GAAA,IAAA;AAAA;AAanD,MAAA,mBAAA,GAAsB,CAAC,YAAqC,KAAA;AACvE,EAAM,MAAA,WAAA,GAAc,eAAe,YAAY,CAAA;AAC/C,EAAO,OAAA,WAAA,IAAA,IAAA,GAAA,SAAA,GAAA,WAAA,CAAa,aAAc,CAAA,SAAA,CAAU,OAAS,EAAA,IAAA,CAAA;AACvD;AAqBa,MAAA,aAAA,GAAgB,CAAC,YAAqC,KAAA;AA1CnE,EAAA,IAAA,EAAA;AA2CE,EAAM,MAAA,SAAA,GAAY,oBAAoB,YAAY,CAAA;AAClD,EAAA,MAAM,oBAAoB,SAAW,IAAA,IAAA,GAAA,SAAA,GAAA,SAAA,CAAA,yBAAA,EAAA;AACrC,EAAA,IAAI,0DAAmB,UAAc,EAAA,EAAA;AAEnC,IAAO,OAAA,IAAA;AAAA,GACT,MAAA,IAAA,CAAW,0DAAmB,SAAe,EAAA,MAAA,CAAA,EAAA,GAAA,iBAAA,CAAkB,SAAlB,IAAwB,GAAA,SAAA,GAAA,EAAA,CAAA,EAAA,CAAG,SAAU,CAAA,WAAA,EAAa,GAAM,CAAA,CAAA,EAAA;AACnG,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,iBAAA;AAAA;AAEX;AAEa,MAAA,sBAAA,GAAyB,CAAC,KAA0C,KAAA;AAC/E,EAAM,MAAA,KAAA,GAAQ,KAAO,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA,CAAA,KAAA,CAAM,KAAM,CAAA,GAAA,CAAA;AAEjC,EAAI,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA,CAAO,YAAW,CAAG,EAAA;AACvB,IAAA,OAAO,EAAE,KAAA,EAAO,KAAM,CAAA,CAAC,CAAE,EAAA;AAAA,GAC3B,MAAA,IAAA,CAAW,KAAO,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA,CAAA,MAAA,MAAW,CAAG,EAAA;AAC9B,IAAO,OAAA,EAAE,QAAQ,KAAM,CAAA,CAAC,GAAG,KAAO,EAAA,KAAA,CAAM,CAAC,CAAE,EAAA;AAAA,GAC7C,MAAA,IAAA,CAAW,KAAO,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA,CAAA,MAAA,MAAW,CAAG,EAAA;AAC9B,IAAA,OAAO,EAAE,OAAA,EAAS,KAAM,CAAA,CAAC,CAAG,EAAA,MAAA,EAAQ,KAAM,CAAA,CAAC,CAAG,EAAA,KAAA,EAAO,KAAM,CAAA,CAAC,CAAE,EAAA;AAAA;AAGhE,EAAO,OAAA,IAAA;AACT;;;;"}
1
+ {"version":3,"file":"tokenUtils.js","sources":["../../../../../src/components/SQLEditor/utils/tokenUtils.ts"],"sourcesContent":["import { FROM, SCHEMA, SELECT } from '../standardSql/language';\nimport { TokenType } from '../types';\nimport { type LinkedToken } from './LinkedToken';\n\nexport const getSelectToken = (currentToken: LinkedToken | null) =>\n currentToken?.getPreviousOfType(TokenType.Keyword, SELECT) ?? null;\n\nexport const getSelectStatisticToken = (currentToken: LinkedToken | null) => {\n const assumedStatisticToken = getSelectToken(currentToken)?.getNextNonWhiteSpaceToken();\n return assumedStatisticToken?.isVariable() || assumedStatisticToken?.isFunction() ? assumedStatisticToken : null;\n};\n\nexport const getMetricNameToken = (currentToken: LinkedToken | null) => {\n // statistic function is followed by `(` and then an argument\n const assumedMetricNameToken = getSelectStatisticToken(currentToken)?.next?.next;\n return assumedMetricNameToken?.isVariable() || assumedMetricNameToken?.isIdentifier() ? assumedMetricNameToken : null;\n};\n\nexport const getFromKeywordToken = (currentToken: LinkedToken | null) => {\n const selectToken = getSelectToken(currentToken);\n return selectToken?.getNextOfType(TokenType.Keyword, FROM);\n};\n\nexport const getNamespaceToken = (currentToken: LinkedToken | null) => {\n const fromToken = getFromKeywordToken(currentToken);\n const nextNonWhiteSpace = fromToken?.getNextNonWhiteSpaceToken();\n\n if (\n nextNonWhiteSpace?.isDoubleQuotedString() ||\n (nextNonWhiteSpace?.isVariable() && nextNonWhiteSpace?.value.toUpperCase() !== SCHEMA)\n ) {\n // schema is not used\n return nextNonWhiteSpace;\n } else if (nextNonWhiteSpace?.isKeyword() && nextNonWhiteSpace.next?.is(TokenType.Parenthesis, '(')) {\n // schema is specified\n const assumedNamespaceToken = nextNonWhiteSpace.next?.next;\n if (assumedNamespaceToken?.isDoubleQuotedString() || assumedNamespaceToken?.isVariable()) {\n return assumedNamespaceToken;\n }\n }\n return null;\n};\nexport const getTableToken = (currentToken: LinkedToken | null) => {\n const fromToken = getFromKeywordToken(currentToken);\n const nextNonWhiteSpace = fromToken?.getNextNonWhiteSpaceToken();\n if (nextNonWhiteSpace?.isVariable()) {\n // TODO: resolve column from variable?\n return null;\n } else if (nextNonWhiteSpace?.isKeyword() && nextNonWhiteSpace.next?.is(TokenType.Parenthesis, '(')) {\n return null;\n } else {\n return nextNonWhiteSpace;\n }\n};\n\nexport const defaultTableNameParser = (token: LinkedToken | null | undefined) => {\n const parts = token?.value.split('.');\n\n if (parts?.length === 1) {\n return { table: parts[0] };\n } else if (parts?.length === 2) {\n return { schema: parts[0], table: parts[1] };\n } else if (parts?.length === 3) {\n return { catalog: parts[0], schema: parts[1], table: parts[2] };\n }\n\n return null;\n};\n"],"names":[],"mappings":";;;;AAIO,MAAM,cAAA,GAAiB,CAAC,YAAA,KAAkC;AAJjE,EAAA,IAAA,EAAA;AAKE,EAAA,OAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,iBAAA,CAAkB,SAAA,CAAU,OAAA,EAAS,MAAA,CAAA,KAAnD,IAAA,GAAA,EAAA,GAA8D,IAAA;AAAA;AAazD,MAAM,mBAAA,GAAsB,CAAC,YAAA,KAAqC;AACvE,EAAA,MAAM,WAAA,GAAc,eAAe,YAAY,CAAA;AAC/C,EAAA,OAAO,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,aAAA,CAAc,SAAA,CAAU,OAAA,EAAS,IAAA,CAAA;AACvD;AAqBO,MAAM,aAAA,GAAgB,CAAC,YAAA,KAAqC;AA1CnE,EAAA,IAAA,EAAA;AA2CE,EAAA,MAAM,SAAA,GAAY,oBAAoB,YAAY,CAAA;AAClD,EAAA,MAAM,oBAAoB,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,yBAAA,EAAA;AACrC,EAAA,IAAI,uDAAmB,UAAA,EAAA,EAAc;AAEnC,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,MAAA,IAAA,CAAW,uDAAmB,SAAA,EAAA,MAAA,CAAe,EAAA,GAAA,iBAAA,CAAkB,SAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,EAAA,CAAG,SAAA,CAAU,WAAA,EAAa,GAAA,CAAA,CAAA,EAAM;AACnG,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,iBAAA;AAAA,EACT;AACF;AAEO,MAAM,sBAAA,GAAyB,CAAC,KAAA,KAA0C;AAC/E,EAAA,MAAM,KAAA,GAAQ,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA,CAAM,KAAA,CAAM,GAAA,CAAA;AAEjC,EAAA,IAAA,CAAI,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,YAAW,CAAA,EAAG;AACvB,IAAA,OAAO,EAAE,KAAA,EAAO,KAAA,CAAM,CAAC,CAAA,EAAE;AAAA,EAC3B,CAAA,MAAA,IAAA,CAAW,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAA,MAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,EAAE,QAAQ,KAAA,CAAM,CAAC,GAAG,KAAA,EAAO,KAAA,CAAM,CAAC,CAAA,EAAE;AAAA,EAC7C,CAAA,MAAA,IAAA,CAAW,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAA,MAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,CAAM,CAAC,CAAA,EAAG,MAAA,EAAQ,KAAA,CAAM,CAAC,CAAA,EAAG,KAAA,EAAO,KAAA,CAAM,CAAC,CAAA,EAAE;AAAA,EAChE;AAEA,EAAA,OAAO,IAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Segment.js","sources":["../../../../src/components/Segment/Segment.tsx"],"sourcesContent":["import React, { useEffect, type ComponentProps, useState } from 'react';\nimport { Segment as GrafanaSegment } from '@grafana/ui';\nimport { type SelectableValue } from '@grafana/data';\nimport { useDebounce } from '../../hooks/useDebounce';\n\nexport interface SegmentProps<T> extends Omit<ComponentProps<typeof GrafanaSegment<T>>, 'onChange'> {\n value: T;\n onDebounce: (debouncedSegment?: T) => void;\n delay?: number;\n}\n\nexport function Segment<T>(props: SegmentProps<T>) {\n const { delay, onDebounce, value, options, ...rest } = props;\n const [input, setInput] = useState(value);\n\n const debouncedSegment = useDebounce(input, delay);\n\n // TODO: We should fix the exhaustive-deps rule\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onDebounce(debouncedSegment), [debouncedSegment]);\n useEffect(() => setInput(value), [value]);\n\n return (\n <GrafanaSegment\n options={options}\n onChange={(ev: SelectableValue<T>) => setInput(ev.value!)}\n value={input}\n {...rest}\n />\n );\n}\n"],"names":["GrafanaSegment"],"mappings":";;;;;AAWO,SAAS,QAAW,KAAwB,EAAA;AACjD,EAAA,MAAM,EAAE,KAAO,EAAA,UAAA,EAAY,OAAO,OAAS,EAAA,GAAG,MAAS,GAAA,KAAA;AACvD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,KAAK,CAAA;AAExC,EAAM,MAAA,gBAAA,GAAmB,WAAY,CAAA,KAAA,EAAO,KAAK,CAAA;AAIjD,EAAA,SAAA,CAAU,MAAM,UAAW,CAAA,gBAAgB,CAAG,EAAA,CAAC,gBAAgB,CAAC,CAAA;AAChE,EAAA,SAAA,CAAU,MAAM,QAAS,CAAA,KAAK,CAAG,EAAA,CAAC,KAAK,CAAC,CAAA;AAExC,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,QAAU,EAAA,CAAC,EAA2B,KAAA,QAAA,CAAS,GAAG,KAAM,CAAA;AAAA,MACxD,KAAO,EAAA,KAAA;AAAA,MACN,GAAG;AAAA;AAAA,GACN;AAEJ;;;;"}
1
+ {"version":3,"file":"Segment.js","sources":["../../../../src/components/Segment/Segment.tsx"],"sourcesContent":["import React, { useEffect, type ComponentProps, useState } from 'react';\nimport { Segment as GrafanaSegment } from '@grafana/ui';\nimport { type SelectableValue } from '@grafana/data';\nimport { useDebounce } from '../../hooks/useDebounce';\n\nexport interface SegmentProps<T> extends Omit<ComponentProps<typeof GrafanaSegment<T>>, 'onChange'> {\n value: T;\n onDebounce: (debouncedSegment?: T) => void;\n delay?: number;\n}\n\nexport function Segment<T>(props: SegmentProps<T>) {\n const { delay, onDebounce, value, options, ...rest } = props;\n const [input, setInput] = useState(value);\n\n const debouncedSegment = useDebounce(input, delay);\n\n // TODO: We should fix the exhaustive-deps rule\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onDebounce(debouncedSegment), [debouncedSegment]);\n useEffect(() => setInput(value), [value]);\n\n return (\n <GrafanaSegment\n options={options}\n onChange={(ev: SelectableValue<T>) => setInput(ev.value!)}\n value={input}\n {...rest}\n />\n );\n}\n"],"names":["GrafanaSegment"],"mappings":";;;;;AAWO,SAAS,QAAW,KAAA,EAAwB;AACjD,EAAA,MAAM,EAAE,KAAA,EAAO,UAAA,EAAY,OAAO,OAAA,EAAS,GAAG,MAAK,GAAI,KAAA;AACvD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,KAAK,CAAA;AAExC,EAAA,MAAM,gBAAA,GAAmB,WAAA,CAAY,KAAA,EAAO,KAAK,CAAA;AAIjD,EAAA,SAAA,CAAU,MAAM,UAAA,CAAW,gBAAgB,CAAA,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAChE,EAAA,SAAA,CAAU,MAAM,QAAA,CAAS,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAExC,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,QAAA,EAAU,CAAC,EAAA,KAA2B,QAAA,CAAS,GAAG,KAAM,CAAA;AAAA,MACxD,KAAA,EAAO,KAAA;AAAA,MACN,GAAG;AAAA;AAAA,GACN;AAEJ;;;;"}
@@ -1,14 +1,14 @@
1
1
  import { Registry } from '@grafana/data';
2
2
  import { BINARY_OPERATIONS_KEY } from './types.js';
3
3
 
4
- var __defProp = Object.defineProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ var __defProp$1 = Object.defineProperty;
5
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
7
7
  class QueryModellerBase {
8
8
  constructor(operationDefinitions, innerQueryPlaceholder) {
9
- __publicField(this, "operationsRegistry");
10
- __publicField(this, "categories", []);
11
- __publicField(this, "innerQueryPlaceholder");
9
+ __publicField$1(this, "operationsRegistry");
10
+ __publicField$1(this, "categories", []);
11
+ __publicField$1(this, "innerQueryPlaceholder");
12
12
  this.operationsRegistry = new Registry(() => operationDefinitions);
13
13
  this.innerQueryPlaceholder = innerQueryPlaceholder || "<query>";
14
14
  }
@@ -30,8 +30,8 @@ class QueryModellerBase {
30
30
  hasBinaryOp(query) {
31
31
  return query.operations.find((op) => {
32
32
  const def = this.getOperationDefinition(op.id);
33
- return (def == null ? undefined : def.category) === BINARY_OPERATIONS_KEY;
34
- }) !== undefined;
33
+ return (def == null ? void 0 : def.category) === BINARY_OPERATIONS_KEY;
34
+ }) !== void 0;
35
35
  }
36
36
  }
37
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"QueryModellerBase.js","sources":["../../../../src/components/VisualQueryBuilder/QueryModellerBase.ts"],"sourcesContent":["import { Registry } from '@grafana/data';\n\nimport {\n BINARY_OPERATIONS_KEY,\n type VisualQuery,\n type VisualQueryBinary,\n type QueryBuilderLabelFilter,\n type QueryBuilderOperation,\n type VisualQueryModeller,\n type QueryBuilderOperationDefinition,\n} from './types';\n\nexport abstract class QueryModellerBase implements VisualQueryModeller {\n protected operationsRegistry: Registry<QueryBuilderOperationDefinition>;\n private categories: string[] = [];\n innerQueryPlaceholder: string;\n\n constructor(operationDefinitions: QueryBuilderOperationDefinition[], innerQueryPlaceholder?: string) {\n this.operationsRegistry = new Registry<QueryBuilderOperationDefinition>(() => operationDefinitions);\n this.innerQueryPlaceholder = innerQueryPlaceholder || '<query>';\n }\n\n protected setOperationCategories(categories: string[]) {\n this.categories = categories;\n }\n\n abstract renderOperations(queryString: string, operations: QueryBuilderOperation[]): string;\n\n abstract renderBinaryQueries(queryString: string, binaryQueries?: Array<VisualQueryBinary<VisualQuery>>): string;\n\n abstract renderLabels(labels: QueryBuilderLabelFilter[]): string;\n\n abstract renderQuery(query: VisualQuery, nested?: boolean): string;\n\n getOperationsForCategory(category: string) {\n return this.operationsRegistry.list().filter((op) => op.category === category && !op.hideFromList);\n }\n\n getAlternativeOperations(key: string) {\n return this.operationsRegistry.list().filter((op) => op.alternativesKey && op.alternativesKey === key);\n }\n\n getCategories() {\n return this.categories;\n }\n\n getOperationDefinition(id: string): QueryBuilderOperationDefinition | undefined {\n return this.operationsRegistry.getIfExists(id);\n }\n\n hasBinaryOp(query: VisualQuery): boolean {\n return (\n query.operations.find((op) => {\n const def = this.getOperationDefinition(op.id);\n return def?.category === BINARY_OPERATIONS_KEY;\n }) !== undefined\n );\n }\n}\n"],"names":[],"mappings":";;;;;;AAYO,MAAe,iBAAiD,CAAA;AAAA,EAKrE,WAAA,CAAY,sBAAyD,qBAAgC,EAAA;AAJrG,IAAU,aAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AACV,IAAA,aAAA,CAAA,IAAA,EAAQ,cAAuB,EAAC,CAAA;AAChC,IAAA,aAAA,CAAA,IAAA,EAAA,uBAAA,CAAA;AAGE,IAAA,IAAA,CAAK,kBAAqB,GAAA,IAAI,QAA0C,CAAA,MAAM,oBAAoB,CAAA;AAClG,IAAA,IAAA,CAAK,wBAAwB,qBAAyB,IAAA,SAAA;AAAA;AACxD,EAEU,uBAAuB,UAAsB,EAAA;AACrD,IAAA,IAAA,CAAK,UAAa,GAAA,UAAA;AAAA;AACpB,EAUA,yBAAyB,QAAkB,EAAA;AACzC,IAAA,OAAO,IAAK,CAAA,kBAAA,CAAmB,IAAK,EAAA,CAAE,MAAO,CAAA,CAAC,EAAO,KAAA,EAAA,CAAG,QAAa,KAAA,QAAA,IAAY,CAAC,EAAA,CAAG,YAAY,CAAA;AAAA;AACnG,EAEA,yBAAyB,GAAa,EAAA;AACpC,IAAO,OAAA,IAAA,CAAK,kBAAmB,CAAA,IAAA,EAAO,CAAA,MAAA,CAAO,CAAC,EAAA,KAAO,EAAG,CAAA,eAAA,IAAmB,EAAG,CAAA,eAAA,KAAoB,GAAG,CAAA;AAAA;AACvG,EAEA,aAAgB,GAAA;AACd,IAAA,OAAO,IAAK,CAAA,UAAA;AAAA;AACd,EAEA,uBAAuB,EAAyD,EAAA;AAC9E,IAAO,OAAA,IAAA,CAAK,kBAAmB,CAAA,WAAA,CAAY,EAAE,CAAA;AAAA;AAC/C,EAEA,YAAY,KAA6B,EAAA;AACvC,IAAA,OACE,KAAM,CAAA,UAAA,CAAW,IAAK,CAAA,CAAC,EAAO,KAAA;AAC5B,MAAA,MAAM,GAAM,GAAA,IAAA,CAAK,sBAAuB,CAAA,EAAA,CAAG,EAAE,CAAA;AAC7C,MAAA,OAAA,CAAO,8BAAK,QAAa,MAAA,qBAAA;AAAA,KAC1B,CAAM,KAAA,SAAA;AAAA;AAGb;;;;"}
1
+ {"version":3,"file":"QueryModellerBase.js","sources":["../../../../src/components/VisualQueryBuilder/QueryModellerBase.ts"],"sourcesContent":["import { Registry } from '@grafana/data';\n\nimport {\n BINARY_OPERATIONS_KEY,\n type VisualQuery,\n type VisualQueryBinary,\n type QueryBuilderLabelFilter,\n type QueryBuilderOperation,\n type VisualQueryModeller,\n type QueryBuilderOperationDefinition,\n} from './types';\n\nexport abstract class QueryModellerBase implements VisualQueryModeller {\n protected operationsRegistry: Registry<QueryBuilderOperationDefinition>;\n private categories: string[] = [];\n innerQueryPlaceholder: string;\n\n constructor(operationDefinitions: QueryBuilderOperationDefinition[], innerQueryPlaceholder?: string) {\n this.operationsRegistry = new Registry<QueryBuilderOperationDefinition>(() => operationDefinitions);\n this.innerQueryPlaceholder = innerQueryPlaceholder || '<query>';\n }\n\n protected setOperationCategories(categories: string[]) {\n this.categories = categories;\n }\n\n abstract renderOperations(queryString: string, operations: QueryBuilderOperation[]): string;\n\n abstract renderBinaryQueries(queryString: string, binaryQueries?: Array<VisualQueryBinary<VisualQuery>>): string;\n\n abstract renderLabels(labels: QueryBuilderLabelFilter[]): string;\n\n abstract renderQuery(query: VisualQuery, nested?: boolean): string;\n\n getOperationsForCategory(category: string) {\n return this.operationsRegistry.list().filter((op) => op.category === category && !op.hideFromList);\n }\n\n getAlternativeOperations(key: string) {\n return this.operationsRegistry.list().filter((op) => op.alternativesKey && op.alternativesKey === key);\n }\n\n getCategories() {\n return this.categories;\n }\n\n getOperationDefinition(id: string): QueryBuilderOperationDefinition | undefined {\n return this.operationsRegistry.getIfExists(id);\n }\n\n hasBinaryOp(query: VisualQuery): boolean {\n return (\n query.operations.find((op) => {\n const def = this.getOperationDefinition(op.id);\n return def?.category === BINARY_OPERATIONS_KEY;\n }) !== undefined\n );\n }\n}\n"],"names":["__publicField"],"mappings":";;;;;;AAYO,MAAe,iBAAA,CAAiD;AAAA,EAKrE,WAAA,CAAY,sBAAyD,qBAAA,EAAgC;AAJrG,IAAAA,eAAA,CAAA,IAAA,EAAU,oBAAA,CAAA;AACV,IAAAA,eAAA,CAAA,IAAA,EAAQ,cAAuB,EAAC,CAAA;AAChC,IAAAA,eAAA,CAAA,IAAA,EAAA,uBAAA,CAAA;AAGE,IAAA,IAAA,CAAK,kBAAA,GAAqB,IAAI,QAAA,CAA0C,MAAM,oBAAoB,CAAA;AAClG,IAAA,IAAA,CAAK,wBAAwB,qBAAA,IAAyB,SAAA;AAAA,EACxD;AAAA,EAEU,uBAAuB,UAAA,EAAsB;AACrD,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAAA,EACpB;AAAA,EAUA,yBAAyB,QAAA,EAAkB;AACzC,IAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,IAAA,EAAK,CAAE,MAAA,CAAO,CAAC,EAAA,KAAO,EAAA,CAAG,QAAA,KAAa,QAAA,IAAY,CAAC,EAAA,CAAG,YAAY,CAAA;AAAA,EACnG;AAAA,EAEA,yBAAyB,GAAA,EAAa;AACpC,IAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,IAAA,EAAK,CAAE,MAAA,CAAO,CAAC,EAAA,KAAO,EAAA,CAAG,eAAA,IAAmB,EAAA,CAAG,eAAA,KAAoB,GAAG,CAAA;AAAA,EACvG;AAAA,EAEA,aAAA,GAAgB;AACd,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA,EAEA,uBAAuB,EAAA,EAAyD;AAC9E,IAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,WAAA,CAAY,EAAE,CAAA;AAAA,EAC/C;AAAA,EAEA,YAAY,KAAA,EAA6B;AACvC,IAAA,OACE,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,CAAC,EAAA,KAAO;AAC5B,MAAA,MAAM,GAAA,GAAM,IAAA,CAAK,sBAAA,CAAuB,EAAA,CAAG,EAAE,CAAA;AAC7C,MAAA,OAAA,CAAO,2BAAK,QAAA,MAAa,qBAAA;AAAA,IAC3B,CAAC,CAAA,KAAM,MAAA;AAAA,EAEX;AACF;;;;"}
@@ -26,7 +26,7 @@ function LabelFilterItem({
26
26
  const [labelValuesMenuOpen, setLabelValuesMenuOpen] = useState(false);
27
27
  const isMultiSelect = (operator = item.op) => {
28
28
  var _a2;
29
- return (_a2 = operators.find((op) => op.label === operator)) == null ? undefined : _a2.isMultiValue;
29
+ return (_a2 = operators.find((op) => op.label === operator)) == null ? void 0 : _a2.isMultiValue;
30
30
  };
31
31
  const getSelectOptionsFromString = (item2) => {
32
32
  if (item2) {
@@ -39,12 +39,12 @@ function LabelFilterItem({
39
39
  };
40
40
  const getOptions = () => {
41
41
  const labelValues = state.labelValues ? [...state.labelValues] : [];
42
- const selectedOptions = getSelectOptionsFromString(item == null ? undefined : item.value).map(toOption);
42
+ const selectedOptions = getSelectOptionsFromString(item == null ? void 0 : item.value).map(toOption);
43
43
  return uniqBy([...selectedOptions, ...labelValues], "value");
44
44
  };
45
45
  const isConflicting = isConflictingLabelFilter(item, items);
46
46
  const { current: id } = useRef(v4());
47
- return /* @__PURE__ */ React.createElement("div", { "data-testid": "visual-query-builder-dimensions-filter-item" }, /* @__PURE__ */ React.createElement(InlineField, { error: CONFLICTING_LABEL_FILTER_ERROR_MESSAGE, invalid: isConflicting ? true : undefined }, /* @__PURE__ */ React.createElement(InputGroup, null, /* @__PURE__ */ React.createElement(
47
+ return /* @__PURE__ */ React.createElement("div", { "data-testid": "visual-query-builder-dimensions-filter-item" }, /* @__PURE__ */ React.createElement(InlineField, { error: CONFLICTING_LABEL_FILTER_ERROR_MESSAGE, invalid: isConflicting ? true : void 0 }, /* @__PURE__ */ React.createElement(InputGroup, null, /* @__PURE__ */ React.createElement(
48
48
  Select,
49
49
  {
50
50
  placeholder: "Select label",
@@ -57,7 +57,7 @@ function LabelFilterItem({
57
57
  setState({ isLoadingLabelNames: true });
58
58
  const labelNames = await onGetLabelNames(item);
59
59
  setLabelNamesMenuOpen(true);
60
- setState({ labelNames, isLoadingLabelNames: undefined });
60
+ setState({ labelNames, isLoadingLabelNames: void 0 });
61
61
  },
62
62
  onCloseMenu: () => {
63
63
  setLabelNamesMenuOpen(false);
@@ -89,7 +89,7 @@ function LabelFilterItem({
89
89
  onChange({
90
90
  ...item,
91
91
  op: change.value,
92
- value: isMultiSelect(change.value) ? item.value : getSelectOptionsFromString(item == null ? undefined : item.value)[0]
92
+ value: isMultiSelect(change.value) ? item.value : getSelectOptionsFromString(item == null ? void 0 : item.value)[0]
93
93
  });
94
94
  }
95
95
  },
@@ -102,7 +102,7 @@ function LabelFilterItem({
102
102
  "data-testid": selectors.components.QueryBuilder.valueSelect,
103
103
  inputId: `visual-query-builder-dimensions-filter-item-value-${id}`,
104
104
  width: "auto",
105
- value: isMultiSelect() ? getSelectOptionsFromString(item == null ? undefined : item.value).map(toOption) : getSelectOptionsFromString(item == null ? undefined : item.value).map(toOption)[0],
105
+ value: isMultiSelect() ? getSelectOptionsFromString(item == null ? void 0 : item.value).map(toOption) : getSelectOptionsFromString(item == null ? void 0 : item.value).map(toOption)[0],
106
106
  allowCustomValue: true,
107
107
  onOpenMenu: async () => {
108
108
  setState({ isLoadingLabelValues: true });
@@ -110,7 +110,7 @@ function LabelFilterItem({
110
110
  setState({
111
111
  ...state,
112
112
  labelValues,
113
- isLoadingLabelValues: undefined
113
+ isLoadingLabelValues: void 0
114
114
  });
115
115
  setLabelValuesMenuOpen(true);
116
116
  },
@@ -134,9 +134,9 @@ function LabelFilterItem({
134
134
  if (change2.value) {
135
135
  return change2.value;
136
136
  } else {
137
- return undefined;
137
+ return void 0;
138
138
  }
139
- }).filter((val) => val !== undefined).join(multiValueSeparator);
139
+ }).filter((val) => val !== void 0).join(multiValueSeparator);
140
140
  onChange({ ...item, value: changes, op: (_b = item.op) != null ? _b : defaultOp });
141
141
  }
142
142
  },
@@ -163,10 +163,10 @@ function isConflictingLabelFilter(newLabel, labels) {
163
163
  );
164
164
  const conflict = candidates.some((candidate) => {
165
165
  var _a, _b;
166
- if (operationIsNegative && ((_a = candidate == null ? undefined : candidate.op) == null ? undefined : _a.toString().startsWith("!")) === false) {
166
+ if (operationIsNegative && ((_a = candidate == null ? void 0 : candidate.op) == null ? void 0 : _a.toString().startsWith("!")) === false) {
167
167
  return true;
168
168
  }
169
- if (operationIsNegative === false && ((_b = candidate == null ? undefined : candidate.op) == null ? undefined : _b.toString().startsWith("!"))) {
169
+ if (operationIsNegative === false && ((_b = candidate == null ? void 0 : candidate.op) == null ? void 0 : _b.toString().startsWith("!"))) {
170
170
  return true;
171
171
  }
172
172
  return false;