@grafana/plugin-ui 0.14.0-dev.1 → 0.14.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 (341) hide show
  1. package/README.md +9 -3
  2. package/dist/cjs/index.cjs +3382 -353
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs/index.d.cts +102 -39
  5. package/dist/cjs/test-utils.cjs +7881 -62
  6. package/dist/cjs/test-utils.cjs.map +1 -1
  7. package/dist/cjs/test-utils.d.cts +24 -24
  8. package/dist/esm/_virtual/chance.js +6 -0
  9. package/dist/esm/_virtual/chance.js.map +1 -0
  10. package/dist/esm/_virtual/chance2.js +4 -0
  11. package/dist/esm/_virtual/chance2.js.map +1 -0
  12. package/dist/esm/_virtual/index.js +6 -0
  13. package/dist/esm/_virtual/index.js.map +1 -0
  14. package/dist/esm/_virtual/re.js +4 -0
  15. package/dist/esm/_virtual/re.js.map +1 -0
  16. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js +155 -0
  17. package/dist/esm/async-query-data/DatasourceWithAsyncBackend.js.map +1 -0
  18. package/dist/esm/async-query-data/RunQueryButtons.js +52 -0
  19. package/dist/esm/async-query-data/RunQueryButtons.js.map +1 -0
  20. package/dist/esm/async-query-data/requestLooper.js +74 -0
  21. package/dist/esm/async-query-data/requestLooper.js.map +1 -0
  22. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
  23. package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
  24. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +4 -4
  25. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
  26. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
  27. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
  28. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
  29. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
  30. package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
  31. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
  32. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
  33. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
  34. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +3 -3
  35. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
  36. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
  37. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
  38. package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
  39. package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
  40. package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
  41. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
  42. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
  43. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
  44. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
  45. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
  46. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
  47. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
  48. package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
  49. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
  50. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
  51. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
  52. package/dist/esm/components/DataLinks/DataLink.js +4 -4
  53. package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
  54. package/dist/esm/components/DataLinks/DataLinks.js +3 -3
  55. package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
  56. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +8 -8
  57. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
  58. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  59. package/dist/esm/components/DatePicker/styles.js +2 -2
  60. package/dist/esm/components/DatePicker/styles.js.map +1 -1
  61. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
  62. package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
  63. package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
  64. package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
  65. package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
  66. package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
  67. package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
  68. package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
  69. package/dist/esm/components/QueryEditor/ConfirmModal.js +1 -1
  70. package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
  71. package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
  72. package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
  73. package/dist/esm/components/QueryEditor/EditorField.js +5 -5
  74. package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
  75. package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
  76. package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
  77. package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
  78. package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
  79. package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
  80. package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
  81. package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
  82. package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
  83. package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
  84. package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
  85. package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
  86. package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
  87. package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
  88. package/dist/esm/components/QueryEditor/InlineSelect.js +1 -1
  89. package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
  90. package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
  91. package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
  92. package/dist/esm/components/QueryEditor/QueryEditor.js +10 -8
  93. package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
  94. package/dist/esm/components/QueryEditor/QueryHeader.js +20 -20
  95. package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
  96. package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
  97. package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
  98. package/dist/esm/components/QueryEditor/Space.js +2 -2
  99. package/dist/esm/components/QueryEditor/Space.js.map +1 -1
  100. package/dist/esm/components/QueryEditor/TableSelector.js +0 -1
  101. package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
  102. package/dist/esm/components/QueryEditor/defaults.js +7 -7
  103. package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
  104. package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
  105. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +10 -2
  106. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
  107. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +7 -2
  108. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
  109. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
  110. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
  111. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +14 -4
  112. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
  113. package/dist/esm/components/QueryEditor/types.js +0 -1
  114. package/dist/esm/components/QueryEditor/types.js.map +1 -1
  115. package/dist/esm/components/QueryEditor/utils/formatSQL.js +15 -4
  116. package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
  117. package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
  118. package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
  119. package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
  120. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +27 -26
  121. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
  122. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
  123. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
  124. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
  125. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
  126. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
  127. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
  128. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
  129. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
  130. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
  131. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +4 -4
  132. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
  133. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +0 -1
  134. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
  135. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -3
  136. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
  137. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js +0 -1
  138. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
  139. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js +0 -1
  140. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
  141. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
  142. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
  143. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js +10 -2
  144. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
  145. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
  146. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -1
  147. package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
  148. package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
  149. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
  150. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
  151. package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
  152. package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
  153. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
  154. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
  155. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
  156. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
  157. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
  158. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
  159. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
  160. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
  161. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
  162. package/dist/esm/components/SQLEditor/standardSql/definition.js +0 -6
  163. package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
  164. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
  165. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
  166. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +5 -4
  167. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
  168. package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
  169. package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
  170. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
  171. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
  172. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
  173. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
  174. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +27 -26
  175. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
  176. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
  177. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
  178. package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
  179. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
  180. package/dist/esm/components/SQLEditor/types.js +1 -17
  181. package/dist/esm/components/SQLEditor/types.js.map +1 -1
  182. package/dist/esm/components/SQLEditor/utils/LinkedToken.js +8 -8
  183. package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
  184. package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
  185. package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
  186. package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
  187. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
  188. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +3 -3
  189. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
  190. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
  191. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
  192. package/dist/esm/components/SQLEditor/utils/tokenType.js +18 -0
  193. package/dist/esm/components/SQLEditor/utils/tokenType.js.map +1 -0
  194. package/dist/esm/components/SQLEditor/utils/tokenUtils.js +10 -10
  195. package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
  196. package/dist/esm/components/Segment/Segment.js.map +1 -1
  197. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +2 -2
  198. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
  199. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
  200. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
  201. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
  202. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
  203. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
  204. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
  205. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +3 -3
  206. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
  207. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
  208. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
  209. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +2 -2
  210. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
  211. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +2 -2
  212. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
  213. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +4 -4
  214. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
  215. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
  216. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
  217. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +6 -6
  218. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
  219. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +3 -3
  220. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
  221. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
  222. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
  223. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
  224. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +3 -3
  225. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
  226. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +1 -1
  227. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
  228. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
  229. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
  230. package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
  231. package/dist/esm/datasource/SqlDatasource.js +14 -14
  232. package/dist/esm/datasource/SqlDatasource.js.map +1 -1
  233. package/dist/esm/datasource/constants.js.map +1 -1
  234. package/dist/esm/hooks/useDebounce.js.map +1 -1
  235. package/dist/esm/index.d.ts +102 -39
  236. package/dist/esm/index.js +5 -1
  237. package/dist/esm/index.js.map +1 -1
  238. package/dist/esm/node_modules/chance/chance.js +7820 -0
  239. package/dist/esm/node_modules/chance/chance.js.map +1 -0
  240. package/dist/esm/node_modules/semver/classes/comparator.js +160 -0
  241. package/dist/esm/node_modules/semver/classes/comparator.js.map +1 -0
  242. package/dist/esm/node_modules/semver/classes/range.js +575 -0
  243. package/dist/esm/node_modules/semver/classes/range.js.map +1 -0
  244. package/dist/esm/node_modules/semver/classes/semver.js +349 -0
  245. package/dist/esm/node_modules/semver/classes/semver.js.map +1 -0
  246. package/dist/esm/node_modules/semver/functions/clean.js +20 -0
  247. package/dist/esm/node_modules/semver/functions/clean.js.map +1 -0
  248. package/dist/esm/node_modules/semver/functions/cmp.js +71 -0
  249. package/dist/esm/node_modules/semver/functions/cmp.js.map +1 -0
  250. package/dist/esm/node_modules/semver/functions/coerce.js +76 -0
  251. package/dist/esm/node_modules/semver/functions/coerce.js.map +1 -0
  252. package/dist/esm/node_modules/semver/functions/compare-build.js +21 -0
  253. package/dist/esm/node_modules/semver/functions/compare-build.js.map +1 -0
  254. package/dist/esm/node_modules/semver/functions/compare-loose.js +17 -0
  255. package/dist/esm/node_modules/semver/functions/compare-loose.js.map +1 -0
  256. package/dist/esm/node_modules/semver/functions/compare.js +19 -0
  257. package/dist/esm/node_modules/semver/functions/compare.js.map +1 -0
  258. package/dist/esm/node_modules/semver/functions/diff.js +72 -0
  259. package/dist/esm/node_modules/semver/functions/diff.js.map +1 -0
  260. package/dist/esm/node_modules/semver/functions/eq.js +17 -0
  261. package/dist/esm/node_modules/semver/functions/eq.js.map +1 -0
  262. package/dist/esm/node_modules/semver/functions/gt.js +17 -0
  263. package/dist/esm/node_modules/semver/functions/gt.js.map +1 -0
  264. package/dist/esm/node_modules/semver/functions/gte.js +17 -0
  265. package/dist/esm/node_modules/semver/functions/gte.js.map +1 -0
  266. package/dist/esm/node_modules/semver/functions/inc.js +33 -0
  267. package/dist/esm/node_modules/semver/functions/inc.js.map +1 -0
  268. package/dist/esm/node_modules/semver/functions/lt.js +17 -0
  269. package/dist/esm/node_modules/semver/functions/lt.js.map +1 -0
  270. package/dist/esm/node_modules/semver/functions/lte.js +17 -0
  271. package/dist/esm/node_modules/semver/functions/lte.js.map +1 -0
  272. package/dist/esm/node_modules/semver/functions/major.js +17 -0
  273. package/dist/esm/node_modules/semver/functions/major.js.map +1 -0
  274. package/dist/esm/node_modules/semver/functions/minor.js +17 -0
  275. package/dist/esm/node_modules/semver/functions/minor.js.map +1 -0
  276. package/dist/esm/node_modules/semver/functions/neq.js +17 -0
  277. package/dist/esm/node_modules/semver/functions/neq.js.map +1 -0
  278. package/dist/esm/node_modules/semver/functions/parse.js +30 -0
  279. package/dist/esm/node_modules/semver/functions/parse.js.map +1 -0
  280. package/dist/esm/node_modules/semver/functions/patch.js +17 -0
  281. package/dist/esm/node_modules/semver/functions/patch.js.map +1 -0
  282. package/dist/esm/node_modules/semver/functions/prerelease.js +20 -0
  283. package/dist/esm/node_modules/semver/functions/prerelease.js.map +1 -0
  284. package/dist/esm/node_modules/semver/functions/rcompare.js +17 -0
  285. package/dist/esm/node_modules/semver/functions/rcompare.js.map +1 -0
  286. package/dist/esm/node_modules/semver/functions/rsort.js +17 -0
  287. package/dist/esm/node_modules/semver/functions/rsort.js.map +1 -0
  288. package/dist/esm/node_modules/semver/functions/satisfies.js +24 -0
  289. package/dist/esm/node_modules/semver/functions/satisfies.js.map +1 -0
  290. package/dist/esm/node_modules/semver/functions/sort.js +17 -0
  291. package/dist/esm/node_modules/semver/functions/sort.js.map +1 -0
  292. package/dist/esm/node_modules/semver/functions/valid.js +20 -0
  293. package/dist/esm/node_modules/semver/functions/valid.js.map +1 -0
  294. package/dist/esm/node_modules/semver/index.js +143 -0
  295. package/dist/esm/node_modules/semver/index.js.map +1 -0
  296. package/dist/esm/node_modules/semver/internal/constants.js +47 -0
  297. package/dist/esm/node_modules/semver/internal/constants.js.map +1 -0
  298. package/dist/esm/node_modules/semver/internal/debug.js +21 -0
  299. package/dist/esm/node_modules/semver/internal/debug.js.map +1 -0
  300. package/dist/esm/node_modules/semver/internal/identifiers.js +39 -0
  301. package/dist/esm/node_modules/semver/internal/identifiers.js.map +1 -0
  302. package/dist/esm/node_modules/semver/internal/lrucache.js +52 -0
  303. package/dist/esm/node_modules/semver/internal/lrucache.js.map +1 -0
  304. package/dist/esm/node_modules/semver/internal/parse-options.js +27 -0
  305. package/dist/esm/node_modules/semver/internal/parse-options.js.map +1 -0
  306. package/dist/esm/node_modules/semver/internal/re.js +238 -0
  307. package/dist/esm/node_modules/semver/internal/re.js.map +1 -0
  308. package/dist/esm/node_modules/semver/ranges/gtr.js +18 -0
  309. package/dist/esm/node_modules/semver/ranges/gtr.js.map +1 -0
  310. package/dist/esm/node_modules/semver/ranges/intersects.js +21 -0
  311. package/dist/esm/node_modules/semver/ranges/intersects.js.map +1 -0
  312. package/dist/esm/node_modules/semver/ranges/ltr.js +18 -0
  313. package/dist/esm/node_modules/semver/ranges/ltr.js.map +1 -0
  314. package/dist/esm/node_modules/semver/ranges/max-satisfying.js +40 -0
  315. package/dist/esm/node_modules/semver/ranges/max-satisfying.js.map +1 -0
  316. package/dist/esm/node_modules/semver/ranges/min-satisfying.js +39 -0
  317. package/dist/esm/node_modules/semver/ranges/min-satisfying.js.map +1 -0
  318. package/dist/esm/node_modules/semver/ranges/min-version.js +77 -0
  319. package/dist/esm/node_modules/semver/ranges/min-version.js.map +1 -0
  320. package/dist/esm/node_modules/semver/ranges/outside.js +101 -0
  321. package/dist/esm/node_modules/semver/ranges/outside.js.map +1 -0
  322. package/dist/esm/node_modules/semver/ranges/simplify.js +62 -0
  323. package/dist/esm/node_modules/semver/ranges/simplify.js.map +1 -0
  324. package/dist/esm/node_modules/semver/ranges/subset.js +264 -0
  325. package/dist/esm/node_modules/semver/ranges/subset.js.map +1 -0
  326. package/dist/esm/node_modules/semver/ranges/to-comparators.js +22 -0
  327. package/dist/esm/node_modules/semver/ranges/to-comparators.js.map +1 -0
  328. package/dist/esm/node_modules/semver/ranges/valid.js +25 -0
  329. package/dist/esm/node_modules/semver/ranges/valid.js.map +1 -0
  330. package/dist/esm/test/mocks/DataQuery.js +5 -5
  331. package/dist/esm/test/mocks/DataQuery.js.map +1 -1
  332. package/dist/esm/test/mocks/Datasource.js +22 -22
  333. package/dist/esm/test/mocks/Datasource.js.map +1 -1
  334. package/dist/esm/test/mocks/Plugin.js +30 -30
  335. package/dist/esm/test/mocks/Plugin.js.map +1 -1
  336. package/dist/esm/test/mocks/QueryEditorProps.js +6 -6
  337. package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
  338. package/dist/esm/test/mocks/utils.js +5 -5
  339. package/dist/esm/test/mocks/utils.js.map +1 -1
  340. package/dist/esm/test-utils.d.ts +24 -24
  341. package/package.json +77 -68
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid.js","sources":["../../../../../node_modules/semver/ranges/valid.js"],"sourcesContent":["'use strict'\n\nconst Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n"],"names":["require$$0"],"mappings":";;;;;;;;;AAEA,CAAA,MAAM,KAAK,GAAGA,YAAA;AACd,CAAA,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,GAAE,IAAI;AACN;AACA;KACI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI;IAC3C,CAAC,OAAO,EAAE,EAAE;AACf,KAAI,OAAO;AACX;AACA;AACA,CAAA,KAAc,GAAG;;;;;;","x_google_ignoreList":[0]}
@@ -1,13 +1,13 @@
1
1
  import '@grafana/data';
2
- import { Chance } from 'chance';
2
+ import { c as chanceExports } from '../../_virtual/chance.js';
3
3
  import { undefinedOr } from './utils.js';
4
4
 
5
5
  const mockDataQuery = () => ({
6
- refId: Chance().word(),
6
+ refId: chanceExports.Chance().word(),
7
7
  hide: false,
8
- key: Chance().guid(),
9
- queryType: Chance().word(),
10
- datasource: undefinedOr(() => Chance().word())
8
+ key: chanceExports.Chance().guid(),
9
+ queryType: chanceExports.Chance().word(),
10
+ datasource: undefinedOr(() => chanceExports.Chance().word())
11
11
  });
12
12
 
13
13
  export { mockDataQuery };
@@ -1 +1 @@
1
- {"version":3,"file":"DataQuery.js","sources":["../../../../src/test/mocks/DataQuery.ts"],"sourcesContent":["import { type DataQuery } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { undefinedOr } from './utils';\n\nexport const mockDataQuery = (): DataQuery => ({\n refId: Chance().word(),\n hide: false,\n key: Chance().guid(),\n queryType: Chance().word(),\n datasource: undefinedOr(() => Chance().word()),\n});\n"],"names":[],"mappings":";;;;AAIO,MAAM,gBAAgB,OAAkB;AAAA,EAC7C,KAAA,EAAO,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,EACrB,IAAA,EAAM,KAAA;AAAA,EACN,GAAA,EAAK,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,EACnB,SAAA,EAAW,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,EACzB,YAAY,WAAA,CAAY,MAAM,MAAA,EAAO,CAAE,MAAM;AAC/C,CAAA;;;;"}
1
+ {"version":3,"file":"DataQuery.js","sources":["../../../../src/test/mocks/DataQuery.ts"],"sourcesContent":["import { type DataQuery } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { undefinedOr } from './utils';\n\nexport const mockDataQuery = (): DataQuery => ({\n refId: Chance().word(),\n hide: false,\n key: Chance().guid(),\n queryType: Chance().word(),\n datasource: undefinedOr(() => Chance().word()),\n});\n"],"names":["Chance"],"mappings":";;;;AAIO,MAAM,gBAAgB,OAAkB;AAAA,EAC7C,KAAA,EAAOA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,EACrB,IAAM,EAAA,KAAA;AAAA,EACN,GAAA,EAAKA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,EACnB,SAAA,EAAWA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,EACzB,YAAY,WAAY,CAAA,MAAMA,oBAAO,EAAA,CAAE,MAAM;AAC/C,CAAA;;;;"}
@@ -1,8 +1,8 @@
1
1
  import '@grafana/data';
2
2
  import { DataSourceWithBackend } from '@grafana/runtime';
3
- import { Chance } from 'chance';
3
+ import { c as chanceExports } from '../../_virtual/chance.js';
4
4
  import { mockDataSourcePluginMeta } from './Plugin.js';
5
- import { undefinedOr, generateBoolean } from './utils.js';
5
+ import { generateBoolean, undefinedOr } from './utils.js';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -19,15 +19,15 @@ class DatasourceMock extends DataSourceWithBackend {
19
19
  __publicField(this, "callHealthCheck", jest.fn());
20
20
  __publicField(this, "testDatasource", jest.fn());
21
21
  // DataSourceApi
22
- __publicField(this, "uid", Chance().guid());
23
- __publicField(this, "name", Chance().word());
22
+ __publicField(this, "uid", chanceExports.Chance().guid());
23
+ __publicField(this, "name", chanceExports.Chance().word());
24
24
  __publicField(this, "id", 1);
25
- __publicField(this, "type", Chance().word());
26
- __publicField(this, "interval", Chance().word());
25
+ __publicField(this, "type", chanceExports.Chance().word());
26
+ __publicField(this, "interval", chanceExports.Chance().word());
27
27
  __publicField(this, "importQueries", jest.fn());
28
28
  __publicField(this, "init", jest.fn());
29
29
  __publicField(this, "getQueryHints", jest.fn().mockReturnValue([mockQueryHint()]));
30
- __publicField(this, "getQueryDisplayText", jest.fn().mockReturnValue(Chance().word()));
30
+ __publicField(this, "getQueryDisplayText", jest.fn().mockReturnValue(chanceExports.Chance().word()));
31
31
  __publicField(this, "metricFindQuery", jest.fn());
32
32
  __publicField(this, "getTagKeys", jest.fn());
33
33
  __publicField(this, "getTagValues", jest.fn());
@@ -48,31 +48,31 @@ class DatasourceMock extends DataSourceWithBackend {
48
48
  }
49
49
  const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());
50
50
  const mockQueryHint = () => ({
51
- type: Chance().word(),
52
- label: Chance().word(),
51
+ type: chanceExports.Chance().word(),
52
+ label: chanceExports.Chance().word(),
53
53
  fix: {
54
- label: Chance().word(),
54
+ label: chanceExports.Chance().word(),
55
55
  action: {
56
- type: Chance().word(),
57
- query: Chance().word(),
56
+ type: chanceExports.Chance().word(),
57
+ query: chanceExports.Chance().word(),
58
58
  preventSubmit: generateBoolean()
59
59
  }
60
60
  }
61
61
  });
62
62
  const mockDatasourceInstanceSettings = () => ({
63
- id: Chance().integer(),
64
- uid: Chance().word(),
65
- type: Chance().word(),
66
- name: Chance().word(),
63
+ id: chanceExports.Chance().integer(),
64
+ uid: chanceExports.Chance().word(),
65
+ type: chanceExports.Chance().word(),
66
+ name: chanceExports.Chance().word(),
67
67
  meta: mockDataSourcePluginMeta(),
68
- url: Chance().word(),
68
+ url: chanceExports.Chance().word(),
69
69
  jsonData: {},
70
- username: Chance().word(),
71
- password: Chance().word(),
72
- database: Chance().word(),
73
- basicAuth: Chance().word(),
70
+ username: chanceExports.Chance().word(),
71
+ password: chanceExports.Chance().word(),
72
+ database: chanceExports.Chance().word(),
73
+ basicAuth: chanceExports.Chance().word(),
74
74
  withCredentials: generateBoolean(),
75
- access: Chance().pickone(["direct", "proxy"]),
75
+ access: chanceExports.Chance().pickone(["direct", "proxy"]),
76
76
  readOnly: false
77
77
  });
78
78
 
@@ -1 +1 @@
1
- {"version":3,"file":"Datasource.js","sources":["../../../../src/test/mocks/Datasource.ts"],"sourcesContent":["import { type DataSourceInstanceSettings, type QueryHint } from '@grafana/data';\nimport { DataSourceWithBackend } from '@grafana/runtime';\nimport { Chance } from 'chance';\nimport { mockDataSourcePluginMeta } from './Plugin';\nimport { generateBoolean, undefinedOr } from './utils';\n\nclass DatasourceMock extends DataSourceWithBackend {\n // DataSourceWithBackend\n query = jest.fn();\n filterQuery = undefinedOr(generateBoolean);\n applyTemplateVariables = jest.fn();\n getResource = jest.fn();\n postResource = jest.fn();\n callHealthCheck = jest.fn();\n testDatasource = jest.fn();\n // DataSourceApi\n uid = Chance().guid();\n name = Chance().word();\n id = 1;\n type = Chance().word();\n interval = Chance().word();\n importQueries = jest.fn();\n init = jest.fn();\n getQueryHints = jest.fn().mockReturnValue([mockQueryHint()]);\n getQueryDisplayText = jest.fn().mockReturnValue(Chance().word());\n metricFindQuery = jest.fn();\n getTagKeys = jest.fn();\n getTagValues = jest.fn();\n components = {};\n meta = mockDataSourcePluginMeta();\n targetContainsTemplate = jest.fn();\n modifyQuery = jest.fn();\n getHighlighterExpression = jest.fn();\n languageProvider = jest.fn();\n getVersion = jest.fn();\n interpolateVariablesInQueries = jest.fn();\n annotations = {};\n annotationQuery = jest.fn();\n streamOptionsProvider = jest.fn();\n getRef = jest.fn();\n protected getRequestHeaders = jest.fn();\n}\n\nexport const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());\n\nconst mockQueryHint = (): QueryHint => ({\n type: Chance().word(),\n label: Chance().word(),\n fix: {\n label: Chance().word(),\n action: {\n type: Chance().word(),\n query: Chance().word(),\n preventSubmit: generateBoolean(),\n },\n },\n});\n\nexport const mockDatasourceInstanceSettings = (): DataSourceInstanceSettings => ({\n id: Chance().integer(),\n uid: Chance().word(),\n type: Chance().word(),\n name: Chance().word(),\n meta: mockDataSourcePluginMeta(),\n url: Chance().word(),\n jsonData: {},\n username: Chance().word(),\n password: Chance().word(),\n database: Chance().word(),\n basicAuth: Chance().word(),\n withCredentials: generateBoolean(),\n access: Chance().pickone(['direct', 'proxy']),\n readOnly: false,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Datasource.js","sources":["../../../../src/test/mocks/Datasource.ts"],"sourcesContent":["import { type DataSourceInstanceSettings, type QueryHint } from '@grafana/data';\nimport { DataSourceWithBackend } from '@grafana/runtime';\nimport { Chance } from 'chance';\nimport { mockDataSourcePluginMeta } from './Plugin';\nimport { generateBoolean, undefinedOr } from './utils';\n\nclass DatasourceMock extends DataSourceWithBackend {\n // DataSourceWithBackend\n query = jest.fn();\n filterQuery = undefinedOr(generateBoolean);\n applyTemplateVariables = jest.fn();\n getResource = jest.fn();\n postResource = jest.fn();\n callHealthCheck = jest.fn();\n testDatasource = jest.fn();\n // DataSourceApi\n uid = Chance().guid();\n name = Chance().word();\n id = 1;\n type = Chance().word();\n interval = Chance().word();\n importQueries = jest.fn();\n init = jest.fn();\n getQueryHints = jest.fn().mockReturnValue([mockQueryHint()]);\n getQueryDisplayText = jest.fn().mockReturnValue(Chance().word());\n metricFindQuery = jest.fn();\n getTagKeys = jest.fn();\n getTagValues = jest.fn();\n components = {};\n meta = mockDataSourcePluginMeta();\n targetContainsTemplate = jest.fn();\n modifyQuery = jest.fn();\n getHighlighterExpression = jest.fn();\n languageProvider = jest.fn();\n getVersion = jest.fn();\n interpolateVariablesInQueries = jest.fn();\n annotations = {};\n annotationQuery = jest.fn();\n streamOptionsProvider = jest.fn();\n getRef = jest.fn();\n protected getRequestHeaders = jest.fn();\n}\n\nexport const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());\n\nconst mockQueryHint = (): QueryHint => ({\n type: Chance().word(),\n label: Chance().word(),\n fix: {\n label: Chance().word(),\n action: {\n type: Chance().word(),\n query: Chance().word(),\n preventSubmit: generateBoolean(),\n },\n },\n});\n\nexport const mockDatasourceInstanceSettings = (): DataSourceInstanceSettings => ({\n id: Chance().integer(),\n uid: Chance().word(),\n type: Chance().word(),\n name: Chance().word(),\n meta: mockDataSourcePluginMeta(),\n url: Chance().word(),\n jsonData: {},\n username: Chance().word(),\n password: Chance().word(),\n database: Chance().word(),\n basicAuth: Chance().word(),\n withCredentials: generateBoolean(),\n access: Chance().pickone(['direct', 'proxy']),\n readOnly: false,\n});\n"],"names":["Chance"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Chance } from 'chance';
2
- import { PluginIncludeType, PluginSignatureStatus, PluginState, PluginType } from '@grafana/data';
1
+ import { c as chanceExports } from '../../_virtual/chance.js';
2
+ import { PluginType, PluginIncludeType, PluginState, PluginSignatureStatus } from '@grafana/data';
3
3
  import { generateBoolean } from './utils.js';
4
4
 
5
5
  const mockDataSourcePluginMeta = () => ({
@@ -11,7 +11,7 @@ const mockDataSourcePluginMeta = () => ({
11
11
  tracing: generateBoolean(),
12
12
  mixed: generateBoolean(),
13
13
  hasQueryHelp: generateBoolean(),
14
- category: Chance().word(),
14
+ category: chanceExports.Chance().word(),
15
15
  queryOptions: {
16
16
  cacheTimeout: generateBoolean(),
17
17
  maxDataPoints: generateBoolean(),
@@ -20,71 +20,71 @@ const mockDataSourcePluginMeta = () => ({
20
20
  sort: 1,
21
21
  streaming: generateBoolean(),
22
22
  unlicensed: generateBoolean(),
23
- id: Chance().word(),
24
- name: Chance().word(),
23
+ id: chanceExports.Chance().word(),
24
+ name: chanceExports.Chance().word(),
25
25
  type: mockPluginType(),
26
26
  info: mockPluginMetaInfo(),
27
- module: Chance().word(),
28
- baseUrl: Chance().word()
27
+ module: chanceExports.Chance().word(),
28
+ baseUrl: chanceExports.Chance().word()
29
29
  });
30
30
  const mockPluginMetaInfo = () => ({
31
31
  author: {
32
- name: Chance().word(),
33
- url: Chance().word()
32
+ name: chanceExports.Chance().word(),
33
+ url: chanceExports.Chance().word()
34
34
  },
35
- description: Chance().word(),
35
+ description: chanceExports.Chance().word(),
36
36
  links: [],
37
37
  logos: {
38
- large: Chance().word(),
39
- small: Chance().word()
38
+ large: chanceExports.Chance().word(),
39
+ small: chanceExports.Chance().word()
40
40
  },
41
41
  screenshots: [],
42
- updated: Chance().word(),
43
- version: Chance().word()
42
+ updated: chanceExports.Chance().word(),
43
+ version: chanceExports.Chance().word()
44
44
  });
45
45
  const mockPluginMeta = () => ({
46
- id: Chance().word(),
47
- name: Chance().word(),
46
+ id: chanceExports.Chance().word(),
47
+ name: chanceExports.Chance().word(),
48
48
  type: mockPluginType(),
49
49
  info: mockPluginMetaInfo(),
50
50
  includes: [mockPluginInclude()],
51
51
  state: mockPluginState(),
52
- module: Chance().word(),
53
- baseUrl: Chance().word(),
52
+ module: chanceExports.Chance().word(),
53
+ baseUrl: chanceExports.Chance().word(),
54
54
  dependencies: mockPluginDependencies(),
55
55
  jsonData: {},
56
56
  secureJsonData: {},
57
57
  enabled: generateBoolean(),
58
- defaultNavUrl: Chance().word(),
58
+ defaultNavUrl: chanceExports.Chance().word(),
59
59
  hasUpdate: generateBoolean(),
60
60
  enterprise: generateBoolean(),
61
- latestVersion: Chance().word(),
61
+ latestVersion: chanceExports.Chance().word(),
62
62
  pinned: generateBoolean(),
63
63
  signature: mockPluginSignatureStatus(),
64
64
  live: generateBoolean()
65
65
  });
66
66
  const mockPluginInclude = () => ({
67
67
  type: mockPluginIncludeType(),
68
- name: Chance().word(),
69
- path: Chance().word(),
70
- icon: Chance().word(),
71
- role: Chance().word(),
68
+ name: chanceExports.Chance().word(),
69
+ path: chanceExports.Chance().word(),
70
+ icon: chanceExports.Chance().word(),
71
+ role: chanceExports.Chance().word(),
72
72
  addToNav: generateBoolean(),
73
- component: Chance().word()
73
+ component: chanceExports.Chance().word()
74
74
  });
75
- const mockPluginType = () => Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);
76
- const mockPluginIncludeType = () => Chance().pickone([
75
+ const mockPluginType = () => chanceExports.Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);
76
+ const mockPluginIncludeType = () => chanceExports.Chance().pickone([
77
77
  PluginIncludeType.dashboard,
78
78
  PluginIncludeType.page,
79
79
  PluginIncludeType.panel,
80
80
  PluginIncludeType.datasource
81
81
  ]);
82
- const mockPluginState = () => Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);
82
+ const mockPluginState = () => chanceExports.Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);
83
83
  const mockPluginDependencies = () => ({
84
- grafanaVersion: Chance().word(),
84
+ grafanaVersion: chanceExports.Chance().word(),
85
85
  plugins: []
86
86
  });
87
- const mockPluginSignatureStatus = () => Chance().pickone([
87
+ const mockPluginSignatureStatus = () => chanceExports.Chance().pickone([
88
88
  PluginSignatureStatus.internal,
89
89
  PluginSignatureStatus.valid,
90
90
  PluginSignatureStatus.invalid,
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sources":["../../../../src/test/mocks/Plugin.ts"],"sourcesContent":["import { Chance } from 'chance';\nimport {\n type DataSourcePluginMeta,\n type PluginMetaInfo,\n type PluginMeta,\n PluginState,\n PluginSignatureStatus,\n type PluginInclude,\n PluginIncludeType,\n type PluginDependencies,\n PluginType,\n} from '@grafana/data';\nimport { generateBoolean } from './utils';\n\nexport const mockDataSourcePluginMeta = (): DataSourcePluginMeta => ({\n builtIn: generateBoolean(),\n metrics: generateBoolean(),\n logs: generateBoolean(),\n annotations: generateBoolean(),\n alerting: generateBoolean(),\n tracing: generateBoolean(),\n mixed: generateBoolean(),\n hasQueryHelp: generateBoolean(),\n category: Chance().word(),\n queryOptions: {\n cacheTimeout: generateBoolean(),\n maxDataPoints: generateBoolean(),\n minInterval: generateBoolean(),\n },\n sort: 1,\n streaming: generateBoolean(),\n unlicensed: generateBoolean(),\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n});\n\nexport const mockPluginMetaInfo = (): PluginMetaInfo => ({\n author: {\n name: Chance().word(),\n url: Chance().word(),\n },\n description: Chance().word(),\n links: [],\n logos: {\n large: Chance().word(),\n small: Chance().word(),\n },\n screenshots: [],\n updated: Chance().word(),\n version: Chance().word(),\n});\n\nexport const mockPluginMeta = (): PluginMeta => ({\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n includes: [mockPluginInclude()],\n state: mockPluginState(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n dependencies: mockPluginDependencies(),\n jsonData: {},\n secureJsonData: {},\n enabled: generateBoolean(),\n defaultNavUrl: Chance().word(),\n hasUpdate: generateBoolean(),\n enterprise: generateBoolean(),\n latestVersion: Chance().word(),\n pinned: generateBoolean(),\n signature: mockPluginSignatureStatus(),\n live: generateBoolean(),\n});\n\nexport const mockPluginInclude = (): PluginInclude => ({\n type: mockPluginIncludeType(),\n name: Chance().word(),\n path: Chance().word(),\n icon: Chance().word(),\n role: Chance().word(),\n addToNav: generateBoolean(),\n component: Chance().word(),\n});\n\nexport const mockPluginType = (): PluginType =>\n Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);\n\nexport const mockPluginIncludeType = (): PluginIncludeType =>\n Chance().pickone([\n PluginIncludeType.dashboard,\n PluginIncludeType.page,\n PluginIncludeType.panel,\n PluginIncludeType.datasource,\n ]);\n\nexport const mockPluginState = (): PluginState =>\n Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);\n\nexport const mockPluginDependencies = (): PluginDependencies => ({\n grafanaVersion: Chance().word(),\n plugins: [],\n});\n\nexport const mockPluginSignatureStatus = (): PluginSignatureStatus =>\n Chance().pickone([\n PluginSignatureStatus.internal,\n PluginSignatureStatus.valid,\n PluginSignatureStatus.invalid,\n PluginSignatureStatus.modified,\n PluginSignatureStatus.missing,\n ]);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plugin.js","sources":["../../../../src/test/mocks/Plugin.ts"],"sourcesContent":["import { Chance } from 'chance';\nimport {\n type DataSourcePluginMeta,\n type PluginMetaInfo,\n type PluginMeta,\n PluginState,\n PluginSignatureStatus,\n type PluginInclude,\n PluginIncludeType,\n type PluginDependencies,\n PluginType,\n} from '@grafana/data';\nimport { generateBoolean } from './utils';\n\nexport const mockDataSourcePluginMeta = (): DataSourcePluginMeta => ({\n builtIn: generateBoolean(),\n metrics: generateBoolean(),\n logs: generateBoolean(),\n annotations: generateBoolean(),\n alerting: generateBoolean(),\n tracing: generateBoolean(),\n mixed: generateBoolean(),\n hasQueryHelp: generateBoolean(),\n category: Chance().word(),\n queryOptions: {\n cacheTimeout: generateBoolean(),\n maxDataPoints: generateBoolean(),\n minInterval: generateBoolean(),\n },\n sort: 1,\n streaming: generateBoolean(),\n unlicensed: generateBoolean(),\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n});\n\nexport const mockPluginMetaInfo = (): PluginMetaInfo => ({\n author: {\n name: Chance().word(),\n url: Chance().word(),\n },\n description: Chance().word(),\n links: [],\n logos: {\n large: Chance().word(),\n small: Chance().word(),\n },\n screenshots: [],\n updated: Chance().word(),\n version: Chance().word(),\n});\n\nexport const mockPluginMeta = (): PluginMeta => ({\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n includes: [mockPluginInclude()],\n state: mockPluginState(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n dependencies: mockPluginDependencies(),\n jsonData: {},\n secureJsonData: {},\n enabled: generateBoolean(),\n defaultNavUrl: Chance().word(),\n hasUpdate: generateBoolean(),\n enterprise: generateBoolean(),\n latestVersion: Chance().word(),\n pinned: generateBoolean(),\n signature: mockPluginSignatureStatus(),\n live: generateBoolean(),\n});\n\nexport const mockPluginInclude = (): PluginInclude => ({\n type: mockPluginIncludeType(),\n name: Chance().word(),\n path: Chance().word(),\n icon: Chance().word(),\n role: Chance().word(),\n addToNav: generateBoolean(),\n component: Chance().word(),\n});\n\nexport const mockPluginType = (): PluginType =>\n Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);\n\nexport const mockPluginIncludeType = (): PluginIncludeType =>\n Chance().pickone([\n PluginIncludeType.dashboard,\n PluginIncludeType.page,\n PluginIncludeType.panel,\n PluginIncludeType.datasource,\n ]);\n\nexport const mockPluginState = (): PluginState =>\n Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);\n\nexport const mockPluginDependencies = (): PluginDependencies => ({\n grafanaVersion: Chance().word(),\n plugins: [],\n});\n\nexport const mockPluginSignatureStatus = (): PluginSignatureStatus =>\n Chance().pickone([\n PluginSignatureStatus.internal,\n PluginSignatureStatus.valid,\n PluginSignatureStatus.invalid,\n PluginSignatureStatus.modified,\n PluginSignatureStatus.missing,\n ]);\n"],"names":["Chance"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { DataTopic, LoadingState, dateTime } from '@grafana/data';
2
- import { Chance } from 'chance';
2
+ import { c as chanceExports } from '../../_virtual/chance.js';
3
3
 
4
4
  const mockQueryEditorProps = () => ({
5
5
  datasource: {},
6
6
  query: {
7
- refId: Chance().word(),
7
+ refId: chanceExports.Chance().word(),
8
8
  hide: false,
9
- key: Chance().word(),
10
- queryType: Chance().word(),
9
+ key: chanceExports.Chance().word(),
10
+ queryType: chanceExports.Chance().word(),
11
11
  dataTopic: DataTopic.Annotations,
12
- datasource: Chance().pickone([Chance().word(), null])
12
+ datasource: chanceExports.Chance().pickone([chanceExports.Chance().word(), null])
13
13
  },
14
14
  onRunQuery: jest.fn(),
15
15
  onChange: jest.fn(),
@@ -23,7 +23,7 @@ const mockQueryEditorProps = () => ({
23
23
  range: mockTimeRange(),
24
24
  history: []
25
25
  });
26
- const mockLoadingState = () => Chance().pickone([
26
+ const mockLoadingState = () => chanceExports.Chance().pickone([
27
27
  LoadingState.NotStarted,
28
28
  LoadingState.Loading,
29
29
  LoadingState.Streaming,
@@ -1 +1 @@
1
- {"version":3,"file":"QueryEditorProps.js","sources":["../../../../src/test/mocks/QueryEditorProps.ts"],"sourcesContent":["import { type QueryEditorProps, DataTopic, dateTime, LoadingState, type TimeRange } from '@grafana/data';\nimport { Chance } from 'chance';\n\nexport const mockQueryEditorProps = (): QueryEditorProps<any, any, any> => ({\n datasource: {},\n query: {\n refId: Chance().word(),\n hide: false,\n key: Chance().word(),\n queryType: Chance().word(),\n dataTopic: DataTopic.Annotations,\n datasource: Chance().pickone([Chance().word(), null]),\n },\n onRunQuery: jest.fn(),\n onChange: jest.fn(),\n onBlur: jest.fn(),\n data: {\n state: mockLoadingState(),\n series: [],\n annotations: [],\n timeRange: mockTimeRange(),\n },\n range: mockTimeRange(),\n history: [],\n});\n\nexport const mockLoadingState = (): LoadingState =>\n Chance().pickone([\n LoadingState.NotStarted,\n LoadingState.Loading,\n LoadingState.Streaming,\n LoadingState.Done,\n LoadingState.Error,\n ]);\n\nexport const mockTimeRange = (): TimeRange => ({\n from: dateTime(),\n to: dateTime(),\n raw: {\n from: dateTime(),\n to: dateTime(),\n },\n});\n"],"names":[],"mappings":";;;AAGO,MAAM,uBAAuB,OAAwC;AAAA,EAC1E,YAAY,EAAC;AAAA,EACb,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,IACrB,IAAA,EAAM,KAAA;AAAA,IACN,GAAA,EAAK,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,IACnB,SAAA,EAAW,MAAA,EAAO,CAAE,IAAA,EAAK;AAAA,IACzB,WAAW,SAAA,CAAU,WAAA;AAAA,IACrB,UAAA,EAAY,MAAA,EAAO,CAAE,OAAA,CAAQ,CAAC,QAAO,CAAE,IAAA,EAAK,EAAG,IAAI,CAAC;AAAA,GACtD;AAAA,EACA,UAAA,EAAY,KAAK,EAAA,EAAG;AAAA,EACpB,QAAA,EAAU,KAAK,EAAA,EAAG;AAAA,EAClB,MAAA,EAAQ,KAAK,EAAA,EAAG;AAAA,EAChB,IAAA,EAAM;AAAA,IACJ,OAAO,gBAAA,EAAiB;AAAA,IACxB,QAAQ,EAAC;AAAA,IACT,aAAa,EAAC;AAAA,IACd,WAAW,aAAA;AAAc,GAC3B;AAAA,EACA,OAAO,aAAA,EAAc;AAAA,EACrB,SAAS;AACX,CAAA;AAEO,MAAM,gBAAA,GAAmB,MAC9B,MAAA,EAAO,CAAE,OAAA,CAAQ;AAAA,EACf,YAAA,CAAa,UAAA;AAAA,EACb,YAAA,CAAa,OAAA;AAAA,EACb,YAAA,CAAa,SAAA;AAAA,EACb,YAAA,CAAa,IAAA;AAAA,EACb,YAAA,CAAa;AACf,CAAC;AAEI,MAAM,gBAAgB,OAAkB;AAAA,EAC7C,MAAM,QAAA,EAAS;AAAA,EACf,IAAI,QAAA,EAAS;AAAA,EACb,GAAA,EAAK;AAAA,IACH,MAAM,QAAA,EAAS;AAAA,IACf,IAAI,QAAA;AAAS;AAEjB,CAAA;;;;"}
1
+ {"version":3,"file":"QueryEditorProps.js","sources":["../../../../src/test/mocks/QueryEditorProps.ts"],"sourcesContent":["import { type QueryEditorProps, DataTopic, dateTime, LoadingState, type TimeRange } from '@grafana/data';\nimport { Chance } from 'chance';\n\nexport const mockQueryEditorProps = (): QueryEditorProps<any, any, any> => ({\n datasource: {},\n query: {\n refId: Chance().word(),\n hide: false,\n key: Chance().word(),\n queryType: Chance().word(),\n dataTopic: DataTopic.Annotations,\n datasource: Chance().pickone([Chance().word(), null]),\n },\n onRunQuery: jest.fn(),\n onChange: jest.fn(),\n onBlur: jest.fn(),\n data: {\n state: mockLoadingState(),\n series: [],\n annotations: [],\n timeRange: mockTimeRange(),\n },\n range: mockTimeRange(),\n history: [],\n});\n\nexport const mockLoadingState = (): LoadingState =>\n Chance().pickone([\n LoadingState.NotStarted,\n LoadingState.Loading,\n LoadingState.Streaming,\n LoadingState.Done,\n LoadingState.Error,\n ]);\n\nexport const mockTimeRange = (): TimeRange => ({\n from: dateTime(),\n to: dateTime(),\n raw: {\n from: dateTime(),\n to: dateTime(),\n },\n});\n"],"names":["Chance"],"mappings":";;;AAGO,MAAM,uBAAuB,OAAwC;AAAA,EAC1E,YAAY,EAAC;AAAA,EACb,KAAO,EAAA;AAAA,IACL,KAAA,EAAOA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,IACrB,IAAM,EAAA,KAAA;AAAA,IACN,GAAA,EAAKA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,IACnB,SAAA,EAAWA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAAA,IACzB,WAAW,SAAU,CAAA,WAAA;AAAA,IACrB,UAAA,EAAYA,oBAAO,EAAA,CAAE,OAAQ,CAAA,CAACA,sBAAS,CAAA,IAAA,EAAQ,EAAA,IAAI,CAAC;AAAA,GACtD;AAAA,EACA,UAAA,EAAY,KAAK,EAAG,EAAA;AAAA,EACpB,QAAA,EAAU,KAAK,EAAG,EAAA;AAAA,EAClB,MAAA,EAAQ,KAAK,EAAG,EAAA;AAAA,EAChB,IAAM,EAAA;AAAA,IACJ,OAAO,gBAAiB,EAAA;AAAA,IACxB,QAAQ,EAAC;AAAA,IACT,aAAa,EAAC;AAAA,IACd,WAAW,aAAc;AAAA,GAC3B;AAAA,EACA,OAAO,aAAc,EAAA;AAAA,EACrB,SAAS;AACX,CAAA;AAEO,MAAM,gBAAmB,GAAA,MAC9BA,oBAAO,EAAA,CAAE,OAAQ,CAAA;AAAA,EACf,YAAa,CAAA,UAAA;AAAA,EACb,YAAa,CAAA,OAAA;AAAA,EACb,YAAa,CAAA,SAAA;AAAA,EACb,YAAa,CAAA,IAAA;AAAA,EACb,YAAa,CAAA;AACf,CAAC;AAEI,MAAM,gBAAgB,OAAkB;AAAA,EAC7C,MAAM,QAAS,EAAA;AAAA,EACf,IAAI,QAAS,EAAA;AAAA,EACb,GAAK,EAAA;AAAA,IACH,MAAM,QAAS,EAAA;AAAA,IACf,IAAI,QAAS;AAAA;AAEjB,CAAA;;;;"}
@@ -1,11 +1,11 @@
1
1
  import '@grafana/data';
2
- import { Chance } from 'chance';
2
+ import { c as chanceExports } from '../../_virtual/chance.js';
3
3
  import { within, fireEvent, waitFor } from '@testing-library/react';
4
4
  import userEvent from '@testing-library/user-event';
5
5
  import { kebabCase } from 'lodash';
6
6
 
7
- const generateBoolean = () => Chance().pickone([true, false]);
8
- const undefinedOr = (fn) => Chance().pickone([void 0, fn()]);
7
+ const generateBoolean = () => chanceExports.Chance().pickone([true, false]);
8
+ const undefinedOr = (fn) => chanceExports.Chance().pickone([undefined, fn()]);
9
9
  const generateArrayOf = (fn, numberOf = 3) => Array.from(new Array(numberOf), () => fn());
10
10
  const openSelect = (container, optionLabel) => {
11
11
  const selectInput = within(container).getByRole("textbox");
@@ -13,14 +13,14 @@ const openSelect = (container, optionLabel) => {
13
13
  userEvent.type(selectInput, optionLabel != null ? optionLabel : "{arrowdown}");
14
14
  };
15
15
  const selectOption = async (container, optionLabel, typeOptionLabel) => {
16
- openSelect(container, typeOptionLabel ? optionLabel : void 0);
16
+ openSelect(container, typeOptionLabel ? optionLabel : undefined);
17
17
  const option = await waitFor(() => within(container).getByText(optionLabel));
18
18
  userEvent.click(option);
19
19
  };
20
20
  const generateOptions = () => {
21
21
  const numberOfOptions = 5;
22
22
  return Array.from(new Array(numberOfOptions), () => {
23
- const name = Chance().name();
23
+ const name = chanceExports.Chance().name();
24
24
  return {
25
25
  label: name,
26
26
  value: kebabCase(name)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/test/mocks/utils.ts"],"sourcesContent":["import { type SelectableValue } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { within, fireEvent, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { kebabCase } from 'lodash';\n\nexport const generateBoolean = () => Chance().pickone([true, false]);\n\nexport const undefinedOr = (fn: Function) => Chance().pickone([undefined, fn()]);\n\nexport const generateArrayOf = (fn: Function, numberOf = 3) => Array.from(new Array(numberOf), () => fn());\n\n// react-select (used by @grafana/ui) renders very differently from the native Select HTML element\n// and because they are not accessible and do not pass data-testid or aria-labels down,\n// it is difficult to grab the correct element and simulate selecting different options\n// the helper functions below can be used instead\n\n/**\n * Opens a Select or MultiSelect dropdown\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option text we want to type or search\n */\nexport const openSelect = (container: HTMLElement, optionLabel?: string) => {\n const selectInput = within(container).getByRole('textbox');\n\n // this needs to be here to support autoFocus=true prop\n fireEvent.blur(selectInput);\n\n // if we have an async Select, we want to type the option label to make the option available\n // otherwise, just press down to open the dropdown\n userEvent.type(selectInput, optionLabel ?? '{arrowdown}');\n};\n\n/**\n * Selects an option from the Select or MultiSelect component\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option we want to select\n * @param {boolean} [typeOptionLabel=false] If we should type the optional label after opening - this is useful for AsyncSelect\n */\nexport const selectOption = async (container: HTMLElement, optionLabel: string, typeOptionLabel?: boolean) => {\n openSelect(container, typeOptionLabel ? optionLabel : undefined);\n\n // wait for the list to show\n const option = await waitFor(() => within(container).getByText(optionLabel));\n\n // select the option\n userEvent.click(option);\n};\n\nexport const generateOptions = (): Array<SelectableValue<string>> => {\n const numberOfOptions = 5;\n\n return Array.from(new Array(numberOfOptions), () => {\n const name = Chance().name();\n\n return {\n label: name,\n value: kebabCase(name),\n };\n });\n};\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,eAAA,GAAkB,MAAM,MAAA,EAAO,CAAE,QAAQ,CAAC,IAAA,EAAM,KAAK,CAAC;AAE5D,MAAM,WAAA,GAAc,CAAC,EAAA,KAAiB,MAAA,EAAO,CAAE,QAAQ,CAAC,MAAA,EAAW,EAAA,EAAI,CAAC;AAExE,MAAM,eAAA,GAAkB,CAAC,EAAA,EAAc,QAAA,GAAW,CAAA,KAAM,KAAA,CAAM,IAAA,CAAK,IAAI,KAAA,CAAM,QAAQ,CAAA,EAAG,MAAM,IAAI;AAalG,MAAM,UAAA,GAAa,CAAC,SAAA,EAAwB,WAAA,KAAyB;AAC1E,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,SAAS,CAAA,CAAE,UAAU,SAAS,CAAA;AAGzD,EAAA,SAAA,CAAU,KAAK,WAAW,CAAA;AAI1B,EAAA,SAAA,CAAU,IAAA,CAAK,WAAA,EAAa,WAAA,IAAA,IAAA,GAAA,WAAA,GAAe,aAAa,CAAA;AAC1D;AASO,MAAM,YAAA,GAAe,OAAO,SAAA,EAAwB,WAAA,EAAqB,eAAA,KAA8B;AAC5G,EAAA,UAAA,CAAW,SAAA,EAAW,eAAA,GAAkB,WAAA,GAAc,MAAS,CAAA;AAG/D,EAAA,MAAM,MAAA,GAAS,MAAM,OAAA,CAAQ,MAAM,OAAO,SAAS,CAAA,CAAE,SAAA,CAAU,WAAW,CAAC,CAAA;AAG3E,EAAA,SAAA,CAAU,MAAM,MAAM,CAAA;AACxB;AAEO,MAAM,kBAAkB,MAAsC;AACnE,EAAA,MAAM,eAAA,GAAkB,CAAA;AAExB,EAAA,OAAO,MAAM,IAAA,CAAK,IAAI,KAAA,CAAM,eAAe,GAAG,MAAM;AAClD,IAAA,MAAM,IAAA,GAAO,MAAA,EAAO,CAAE,IAAA,EAAK;AAE3B,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,IAAA;AAAA,MACP,KAAA,EAAO,UAAU,IAAI;AAAA,KACvB;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/test/mocks/utils.ts"],"sourcesContent":["import { type SelectableValue } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { within, fireEvent, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { kebabCase } from 'lodash';\n\nexport const generateBoolean = () => Chance().pickone([true, false]);\n\nexport const undefinedOr = (fn: Function) => Chance().pickone([undefined, fn()]);\n\nexport const generateArrayOf = (fn: Function, numberOf = 3) => Array.from(new Array(numberOf), () => fn());\n\n// react-select (used by @grafana/ui) renders very differently from the native Select HTML element\n// and because they are not accessible and do not pass data-testid or aria-labels down,\n// it is difficult to grab the correct element and simulate selecting different options\n// the helper functions below can be used instead\n\n/**\n * Opens a Select or MultiSelect dropdown\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option text we want to type or search\n */\nexport const openSelect = (container: HTMLElement, optionLabel?: string) => {\n const selectInput = within(container).getByRole('textbox');\n\n // this needs to be here to support autoFocus=true prop\n fireEvent.blur(selectInput);\n\n // if we have an async Select, we want to type the option label to make the option available\n // otherwise, just press down to open the dropdown\n userEvent.type(selectInput, optionLabel ?? '{arrowdown}');\n};\n\n/**\n * Selects an option from the Select or MultiSelect component\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option we want to select\n * @param {boolean} [typeOptionLabel=false] If we should type the optional label after opening - this is useful for AsyncSelect\n */\nexport const selectOption = async (container: HTMLElement, optionLabel: string, typeOptionLabel?: boolean) => {\n openSelect(container, typeOptionLabel ? optionLabel : undefined);\n\n // wait for the list to show\n const option = await waitFor(() => within(container).getByText(optionLabel));\n\n // select the option\n userEvent.click(option);\n};\n\nexport const generateOptions = (): Array<SelectableValue<string>> => {\n const numberOfOptions = 5;\n\n return Array.from(new Array(numberOfOptions), () => {\n const name = Chance().name();\n\n return {\n label: name,\n value: kebabCase(name),\n };\n });\n};\n"],"names":["Chance"],"mappings":";;;;;;AAMa,MAAA,eAAA,GAAkB,MAAMA,oBAAO,EAAA,CAAE,QAAQ,CAAC,IAAA,EAAM,KAAK,CAAC;AAEtD,MAAA,WAAA,GAAc,CAAC,EAAA,KAAiBA,oBAAO,EAAA,CAAE,QAAQ,CAAC,SAAA,EAAW,EAAG,EAAC,CAAC;AAExE,MAAM,eAAkB,GAAA,CAAC,EAAc,EAAA,QAAA,GAAW,CAAM,KAAA,KAAA,CAAM,IAAK,CAAA,IAAI,KAAM,CAAA,QAAQ,CAAG,EAAA,MAAM,IAAI;AAa5F,MAAA,UAAA,GAAa,CAAC,SAAA,EAAwB,WAAyB,KAAA;AAC1E,EAAA,MAAM,WAAc,GAAA,MAAA,CAAO,SAAS,CAAA,CAAE,UAAU,SAAS,CAAA;AAGzD,EAAA,SAAA,CAAU,KAAK,WAAW,CAAA;AAI1B,EAAU,SAAA,CAAA,IAAA,CAAK,WAAa,EAAA,WAAA,IAAA,IAAA,GAAA,WAAA,GAAe,aAAa,CAAA;AAC1D;AASO,MAAM,YAAe,GAAA,OAAO,SAAwB,EAAA,WAAA,EAAqB,eAA8B,KAAA;AAC5G,EAAW,UAAA,CAAA,SAAA,EAAW,eAAkB,GAAA,WAAA,GAAc,SAAS,CAAA;AAG/D,EAAM,MAAA,MAAA,GAAS,MAAM,OAAQ,CAAA,MAAM,OAAO,SAAS,CAAA,CAAE,SAAU,CAAA,WAAW,CAAC,CAAA;AAG3E,EAAA,SAAA,CAAU,MAAM,MAAM,CAAA;AACxB;AAEO,MAAM,kBAAkB,MAAsC;AACnE,EAAA,MAAM,eAAkB,GAAA,CAAA;AAExB,EAAA,OAAO,MAAM,IAAK,CAAA,IAAI,KAAM,CAAA,eAAe,GAAG,MAAM;AAClD,IAAM,MAAA,IAAA,GAAOA,oBAAO,EAAA,CAAE,IAAK,EAAA;AAE3B,IAAO,OAAA;AAAA,MACL,KAAO,EAAA,IAAA;AAAA,MACP,KAAA,EAAO,UAAU,IAAI;AAAA,KACvB;AAAA,GACD,CAAA;AACH;;;;"}
@@ -1,40 +1,40 @@
1
1
  import * as _grafana_data from '@grafana/data';
2
- import { DataSourceInstanceSettings, DataQuery, DataSourcePluginMeta, PluginDependencies, PluginInclude, PluginIncludeType, PluginMeta, PluginMetaInfo, PluginSignatureStatus, PluginState, PluginType, LoadingState, QueryEditorProps, TimeRange, SelectableValue } from '@grafana/data';
2
+ import { DataSourceInstanceSettings, DataQuery, DataSourcePluginMeta, PluginMetaInfo, PluginMeta, PluginInclude, PluginType, PluginIncludeType, PluginState, PluginDependencies, PluginSignatureStatus, QueryEditorProps, LoadingState, TimeRange, SelectableValue } from '@grafana/data';
3
3
  import { DataSourceWithBackend } from '@grafana/runtime';
4
4
 
5
5
  declare class DatasourceMock extends DataSourceWithBackend {
6
- query: jest.Mock<any, any>;
6
+ query: jest.Mock<any, any, any>;
7
7
  filterQuery: any;
8
- applyTemplateVariables: jest.Mock<any, any>;
9
- getResource: jest.Mock<any, any>;
10
- postResource: jest.Mock<any, any>;
11
- callHealthCheck: jest.Mock<any, any>;
12
- testDatasource: jest.Mock<any, any>;
8
+ applyTemplateVariables: jest.Mock<any, any, any>;
9
+ getResource: jest.Mock<any, any, any>;
10
+ postResource: jest.Mock<any, any, any>;
11
+ callHealthCheck: jest.Mock<any, any, any>;
12
+ testDatasource: jest.Mock<any, any, any>;
13
13
  uid: string;
14
14
  name: string;
15
15
  id: number;
16
16
  type: string;
17
17
  interval: string;
18
- importQueries: jest.Mock<any, any>;
19
- init: jest.Mock<any, any>;
20
- getQueryHints: jest.Mock<any, any>;
21
- getQueryDisplayText: jest.Mock<any, any>;
22
- metricFindQuery: jest.Mock<any, any>;
23
- getTagKeys: jest.Mock<any, any>;
24
- getTagValues: jest.Mock<any, any>;
18
+ importQueries: jest.Mock<any, any, any>;
19
+ init: jest.Mock<any, any, any>;
20
+ getQueryHints: jest.Mock<any, any, any>;
21
+ getQueryDisplayText: jest.Mock<any, any, any>;
22
+ metricFindQuery: jest.Mock<any, any, any>;
23
+ getTagKeys: jest.Mock<any, any, any>;
24
+ getTagValues: jest.Mock<any, any, any>;
25
25
  components: {};
26
26
  meta: _grafana_data.DataSourcePluginMeta<{}>;
27
- targetContainsTemplate: jest.Mock<any, any>;
28
- modifyQuery: jest.Mock<any, any>;
29
- getHighlighterExpression: jest.Mock<any, any>;
30
- languageProvider: jest.Mock<any, any>;
31
- getVersion: jest.Mock<any, any>;
32
- interpolateVariablesInQueries: jest.Mock<any, any>;
27
+ targetContainsTemplate: jest.Mock<any, any, any>;
28
+ modifyQuery: jest.Mock<any, any, any>;
29
+ getHighlighterExpression: jest.Mock<any, any, any>;
30
+ languageProvider: jest.Mock<any, any, any>;
31
+ getVersion: jest.Mock<any, any, any>;
32
+ interpolateVariablesInQueries: jest.Mock<any, any, any>;
33
33
  annotations: {};
34
- annotationQuery: jest.Mock<any, any>;
35
- streamOptionsProvider: jest.Mock<any, any>;
36
- getRef: jest.Mock<any, any>;
37
- protected getRequestHeaders: jest.Mock<any, any>;
34
+ annotationQuery: jest.Mock<any, any, any>;
35
+ streamOptionsProvider: jest.Mock<any, any, any>;
36
+ getRef: jest.Mock<any, any, any>;
37
+ protected getRequestHeaders: jest.Mock<any, any, any>;
38
38
  }
39
39
  declare const mockDatasource: () => DatasourceMock;
40
40
  declare const mockDatasourceInstanceSettings: () => DataSourceInstanceSettings;