@grafana/plugin-e2e 0.12.0 → 0.12.2

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 (52) hide show
  1. package/dist/api.d.ts +178 -0
  2. package/dist/auth/auth.setup.d.ts +1 -0
  3. package/dist/e2e-selectors/index.d.ts +2 -0
  4. package/dist/e2e-selectors/resolver.d.ts +10 -0
  5. package/dist/e2e-selectors/resolver.test.d.ts +1 -0
  6. package/dist/e2e-selectors/types.d.ts +174 -0
  7. package/dist/e2e-selectors/versioned/apis.d.ts +29 -0
  8. package/dist/e2e-selectors/versioned/components.d.ts +154 -0
  9. package/dist/e2e-selectors/versioned/constants.d.ts +1 -0
  10. package/dist/e2e-selectors/versioned/index.d.ts +2 -0
  11. package/dist/e2e-selectors/versioned/pages.d.ts +125 -0
  12. package/dist/e2e-selectors/versioned/types.d.ts +8 -0
  13. package/dist/fixtures/annotationEditPage.d.ts +7 -0
  14. package/dist/fixtures/commands/createDataSource.d.ts +8 -0
  15. package/dist/fixtures/commands/createDataSourceConfigPage.d.ts +8 -0
  16. package/dist/fixtures/commands/login.d.ts +6 -0
  17. package/dist/fixtures/commands/readProvision.d.ts +7 -0
  18. package/dist/fixtures/explorePage.d.ts +7 -0
  19. package/dist/fixtures/grafanaVersion.d.ts +4 -0
  20. package/dist/fixtures/index.d.ts +16 -0
  21. package/dist/fixtures/isFeatureToggleEnabled.d.ts +6 -0
  22. package/dist/fixtures/newDashboardPage.d.ts +7 -0
  23. package/dist/fixtures/page.d.ts +17 -0
  24. package/dist/fixtures/panelEditPage.d.ts +7 -0
  25. package/dist/fixtures/scripts/overrideFeatureToggles.d.ts +1 -0
  26. package/dist/fixtures/scripts/overrideFeatureToggles.js +3 -3
  27. package/dist/fixtures/selectors.d.ts +7 -0
  28. package/dist/fixtures/types.d.ts +2 -0
  29. package/dist/fixtures/variableEditPage.d.ts +7 -0
  30. package/dist/index.d.ts +35 -0
  31. package/dist/matchers/index.d.ts +25 -0
  32. package/dist/matchers/toBeOK.d.ts +11 -0
  33. package/dist/matchers/toDisplayPreviews.d.ts +12 -0
  34. package/dist/matchers/toHaveAlert.d.ts +8 -0
  35. package/dist/matchers/utils.d.ts +1 -0
  36. package/dist/models/AnnotationEditPage.d.ts +18 -0
  37. package/dist/models/AnnotationPage.d.ts +16 -0
  38. package/dist/models/DashboardPage.d.ts +33 -0
  39. package/dist/models/DataSourceConfigPage.d.ts +23 -0
  40. package/dist/models/DataSourcePicker.d.ts +9 -0
  41. package/dist/models/ExplorePage.d.ts +26 -0
  42. package/dist/models/GrafanaPage.d.ts +43 -0
  43. package/dist/models/Panel.d.ts +12 -0
  44. package/dist/models/PanelEditPage.d.ts +55 -0
  45. package/dist/models/TimeRange.d.ts +9 -0
  46. package/dist/models/VariableEditPage.d.ts +26 -0
  47. package/dist/models/VariablePage.d.ts +16 -0
  48. package/dist/models/index.d.ts +8 -0
  49. package/dist/options/index.d.ts +4 -0
  50. package/dist/selectorEngine.d.ts +7 -0
  51. package/dist/types.d.ts +228 -0
  52. package/package.json +2 -2
package/dist/api.d.ts ADDED
@@ -0,0 +1,178 @@
1
+ import { E2ESelectors } from './e2e-selectors/types';
2
+ import { CreateDataSourceArgs, CreateDataSourcePageArgs, DataSource, ReadProvisionArgs } from './types';
3
+ import { PanelEditPage, GrafanaPage, DataSourceConfigPage, DashboardPage, VariableEditPage, AnnotationEditPage } from './models';
4
+ import { ExplorePage } from './models/ExplorePage';
5
+ export type PluginOptions = {
6
+ /**
7
+ * When using the readProvisioning fixture, files will be read from this directory. If no directory is provided,
8
+ * the 'provisioning' directory in the current working directory will be used.
9
+ *
10
+ * eg.
11
+ * export default defineConfig({
12
+ use: {
13
+ provisioningRootDir: 'path/to/provisioning',
14
+ },
15
+ });
16
+ *
17
+ */
18
+ provisioningRootDir: string;
19
+ /**
20
+ * Optionally, you can add or override feature toggles.
21
+ * The feature toggles you specify here will only work in the frontend. If you need a feature toggle to work across the entire stack, you
22
+ * need to need to enable the feature in the Grafana config. See https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#feature_toggles
23
+ *
24
+ * To override feature toggles globally in the playwright.config.ts file:
25
+ * export default defineConfig({
26
+ use: {
27
+ featureToggles: {
28
+ exploreMixedDatasource: true,
29
+ redshiftAsyncQueryDataSupport: false
30
+ },
31
+ },
32
+ });
33
+ *
34
+ * To override feature toggles for tests on a certain file:
35
+ test.use({
36
+ featureToggles: {
37
+ exploreMixedDatasource: true,
38
+ },
39
+ * });
40
+ */
41
+ featureToggles: Record<string, boolean>;
42
+ };
43
+ export type PluginFixture = {
44
+ /**
45
+ * The current Grafana version.
46
+ *
47
+ * If a GRAFANA_VERSION environment variable is set, this will be used. Otherwise,
48
+ * the version will be picked from window.grafanaBootData.settings.buildInfo.version.
49
+ */
50
+ grafanaVersion: string;
51
+ /**
52
+ * The E2E selectors to use for the current version of Grafana
53
+ */
54
+ selectors: E2ESelectors;
55
+ /**
56
+ * Isolated {@link DashboardPage} instance for each test.
57
+ *
58
+ * Navigates to a new dashboard page and adds a new panel.
59
+ *
60
+ * Use {@link PanelEditPage.setVisualization} to change the visualization
61
+ * Use {@link PanelEditPage.datasource.set} to change the datasource
62
+ * Use {@link PanelEditPage.getQueryEditorEditorRow} to retrieve the query
63
+ * editor row locator for a given query refId
64
+ */
65
+ newDashboardPage: DashboardPage;
66
+ /**
67
+ * Isolated {@link PanelEditPage} instance for each test.
68
+ *
69
+ * Navigates to a new dashboard page and adds a new panel.
70
+ *
71
+ * Use {@link PanelEditPage.setVisualization} to change the visualization
72
+ * Use {@link PanelEditPage.datasource.set} to change the datasource
73
+ * Use {@link ExplorePage.getQueryEditorEditorRow} to retrieve the query
74
+ * editor row locator for a given query refId
75
+ */
76
+ panelEditPage: PanelEditPage;
77
+ /**
78
+ * Isolated {@link VariableEditPage} instance for each test.
79
+ *
80
+ * Navigates to a new dashboard page and adds a new variable.
81
+ *
82
+ * Use {@link VariableEditPage.setVariableType} to change the variable type
83
+ */
84
+ variableEditPage: VariableEditPage;
85
+ /**
86
+ * Isolated {@link AnnotationEditPage} instance for each test.
87
+ *
88
+ * Navigates to a new dashboard page and adds a new annotation.
89
+ *
90
+ * Use {@link AnnotationEditPage.datasource.set} to change the datasource
91
+ */
92
+ annotationEditPage: AnnotationEditPage;
93
+ /**
94
+ * Isolated {@link ExplorePage} instance for each test.
95
+ *
96
+ * Navigates to a the explore page.
97
+ *
98
+ * Use {@link ExplorePage.datasource.set} to change the datasource
99
+ * Use {@link ExplorePage.getQueryEditorEditorRow} to retrieve the query editor
100
+ * row locator for a given query refId
101
+ */
102
+ explorePage: ExplorePage;
103
+ /**
104
+ * Fixture command that will create an isolated DataSourceConfigPage instance for a given data source type.
105
+ *
106
+ * The data source config page cannot be navigated to without a data source uid, so this fixture will create a new
107
+ * data source using the Grafana API, create a new DataSourceConfigPage instance and navigate to the page.
108
+ */
109
+ createDataSourceConfigPage: (args: CreateDataSourcePageArgs) => Promise<DataSourceConfigPage>;
110
+ /**
111
+ * Fixture command that creates a data source via the Grafana API.
112
+ *
113
+ * If you have tests that depend on the the existance of a data source,
114
+ * you may use this command in a setup project. Read more about setup projects
115
+ * here: https://playwright.dev/docs/auth#basic-shared-account-in-all-tests
116
+ */
117
+ createDataSource: (args: CreateDataSourceArgs) => Promise<DataSource>;
118
+ /**
119
+ * Fixture command that login to Grafana using the Grafana API.
120
+ * If the same credentials should be used in every test,
121
+ * invoke this fixture in a setup project.
122
+ * See https://playwright.dev/docs/auth#basic-shared-account-in-all-tests
123
+ *
124
+ * If no credentials are provided, the default admin/admin credentials will be used.
125
+ *
126
+ * The default credentials can be overridden in the playwright.config.ts file:
127
+ * eg.
128
+ * export default defineConfig({
129
+ use: {
130
+ httpCredentials: {
131
+ username: 'user',
132
+ password: 'pass',
133
+ },
134
+ },
135
+ });
136
+ *
137
+ * To override credentials in a single test:
138
+ * test.use({ httpCredentials: { username: 'admin', password: 'admin' } });
139
+ * To avoid authentication in a single test:
140
+ * test.use({ storageState: { cookies: [], origins: [] } });
141
+ */
142
+ login: () => Promise<void>;
143
+ /**
144
+ * Fixture command that reads a the yaml file for a provisioned dashboard
145
+ * or data source and returns it as json.
146
+ */
147
+ readProvision<T = any>(args: ReadProvisionArgs): Promise<T>;
148
+ /**
149
+ * Function that checks if a feature toggle is enabled. Only works for frontend feature toggles.
150
+ */
151
+ isFeatureToggleEnabled<T = object>(featureToggle: keyof T): Promise<boolean>;
152
+ };
153
+ export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & PluginFixture, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions & PluginOptions>;
154
+ export declare const expect: import("@playwright/test").Expect<{
155
+ toBeOK: (request: Promise<import("@playwright/test").Response>) => Promise<{
156
+ message: () => string;
157
+ pass: boolean;
158
+ actual: number;
159
+ } | {
160
+ message: () => string;
161
+ pass: boolean;
162
+ actual: undefined;
163
+ }>;
164
+ toDisplayPreviews: (variableEditPage: VariableEditPage, previewTexts: (string | RegExp)[], options?: import("./types").ContainTextOptions | undefined) => Promise<{
165
+ pass: boolean;
166
+ actual: boolean;
167
+ message: () => string;
168
+ } | {
169
+ message: () => string;
170
+ pass: boolean;
171
+ actual: undefined;
172
+ }>;
173
+ toHaveAlert: (grafanaPage: GrafanaPage, severity: import("./matchers/toHaveAlert").AlertVariant, options?: import("./types").AlertPageOptions | undefined) => Promise<{
174
+ message: () => any;
175
+ pass: boolean;
176
+ }>;
177
+ }>;
178
+ export { selectors } from '@playwright/test';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { resolveSelectors } from './resolver';
2
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ import { E2ESelectors } from './types';
2
+ import { VersionedSelectors } from './versioned/types';
3
+ /**
4
+ * Resolves selectors based on the Grafana version
5
+ *
6
+ * If the selector has multiple versions, the last version that is less
7
+ * than or equal to the Grafana version will be returned.
8
+ * If the selector doesn't have a version, it will be returned as is.
9
+ */
10
+ export declare const resolveSelectors: (versionedSelectors: VersionedSelectors, grafanaVersion: string) => E2ESelectors;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,174 @@
1
+ export type E2ESelectors = {
2
+ pages: Pages;
3
+ components: Components;
4
+ apis: APIs;
5
+ };
6
+ export type APIs = {
7
+ DataSource: {
8
+ resourcePattern: string;
9
+ resourceUIDPattern: string;
10
+ queryPattern: string;
11
+ query: string;
12
+ health: (uid: string, id: string) => string;
13
+ datasourceByUID: (uid: string) => string;
14
+ };
15
+ Dashboard: {
16
+ delete: (uid: string) => string;
17
+ };
18
+ };
19
+ export type Components = {
20
+ TimePicker: {
21
+ openButton: string;
22
+ fromField: string;
23
+ toField: string;
24
+ applyTimeRange: string;
25
+ absoluteTimeRangeTitle: string;
26
+ };
27
+ Panels: {
28
+ Panel: {
29
+ title: (title: string) => string;
30
+ headerCornerInfo: (mode: string) => string;
31
+ status: (status: string) => string;
32
+ };
33
+ Visualization: {
34
+ Table: {
35
+ header: string;
36
+ footer: string;
37
+ body: string;
38
+ };
39
+ };
40
+ };
41
+ PanelEditor: {
42
+ General: {
43
+ content: string;
44
+ };
45
+ applyButton: string;
46
+ toggleVizPicker: string;
47
+ };
48
+ RefreshPicker: {
49
+ runButtonV2: string;
50
+ };
51
+ QueryEditorRows: {
52
+ rows: string;
53
+ };
54
+ QueryEditorRow: {
55
+ title: (refId: string) => string;
56
+ };
57
+ Alert: {
58
+ alertV2: (severity: string) => string;
59
+ };
60
+ PageToolbar: {
61
+ item: (tooltip: string) => string;
62
+ shotMoreItems: string;
63
+ itemButton: (title: string) => string;
64
+ itemButtonTitle: string;
65
+ };
66
+ OptionsGroup: {
67
+ group: (title?: string) => string;
68
+ toggle: (title?: string) => string;
69
+ groupTitle: string;
70
+ };
71
+ PluginVisualization: {
72
+ item: (title: string) => string;
73
+ };
74
+ Select: {
75
+ option: string;
76
+ input: () => string;
77
+ singleValue: () => string;
78
+ };
79
+ DataSourcePicker: {
80
+ container: string;
81
+ };
82
+ TimeZonePicker: {
83
+ containerV2: string;
84
+ };
85
+ CodeEditor: {
86
+ container: string;
87
+ };
88
+ Variables: {
89
+ variableOption: string;
90
+ };
91
+ Annotations: {
92
+ annotationsTypeInput: string;
93
+ annotationsChoosePanelInput: string;
94
+ };
95
+ Tooltip: {
96
+ container: string;
97
+ };
98
+ };
99
+ export type Pages = {
100
+ Home: {
101
+ url: string;
102
+ };
103
+ DataSource: {
104
+ name: string;
105
+ delete: string;
106
+ readOnly: string;
107
+ saveAndTest: string;
108
+ alert: string;
109
+ };
110
+ EditDataSource: {
111
+ url: (dataSourceUid: string) => string;
112
+ };
113
+ AddDashboard: {
114
+ url: string;
115
+ itemButton: (title: string) => string;
116
+ addNewPanel: string;
117
+ itemButtonAddViz: string;
118
+ Settings: {
119
+ Annotations: {
120
+ List: {
121
+ url: string;
122
+ };
123
+ Edit: {
124
+ url: (annotationIndex: string) => string;
125
+ };
126
+ };
127
+ Variables: {
128
+ List: {
129
+ url: string;
130
+ };
131
+ Edit: {
132
+ url: (variableIndex: string) => string;
133
+ };
134
+ };
135
+ };
136
+ };
137
+ Dashboard: {
138
+ url: (uid: string) => string;
139
+ Settings: {
140
+ Annotations: {
141
+ Edit: {
142
+ url: (dashboardUid: string, annotationIndex: string) => string;
143
+ };
144
+ List: {
145
+ url: (uid: string) => string;
146
+ /**
147
+ * @deprecated use addAnnotationCTAV2 from Grafana 8.3 instead
148
+ */
149
+ addAnnotationCTA: string;
150
+ addAnnotationCTAV2: string;
151
+ };
152
+ };
153
+ Variables: {
154
+ List: {
155
+ url: (dashboardUid: string) => string;
156
+ newButton: string;
157
+ addVariableCTAV2: (variableName: string) => string;
158
+ addVariableCTAV2Item: string;
159
+ };
160
+ Edit: {
161
+ url: (dashboardUid: string, editIndex: string) => string;
162
+ General: {
163
+ generalTypeSelectV2: string;
164
+ previewOfValuesOption: string;
165
+ submitButton: string;
166
+ };
167
+ };
168
+ };
169
+ };
170
+ };
171
+ Explore: {
172
+ url: string;
173
+ };
174
+ };
@@ -0,0 +1,29 @@
1
+ export declare const versionedAPIs: {
2
+ DataSource: {
3
+ resourcePattern: {
4
+ "8.0.0": string;
5
+ };
6
+ resourceUIDPattern: {
7
+ '9.4.4': string;
8
+ "8.0.0": string;
9
+ };
10
+ queryPattern: {
11
+ "8.0.0": string;
12
+ };
13
+ query: {
14
+ "8.0.0": string;
15
+ };
16
+ health: {
17
+ "9.5.0": (uid: string, _: string) => string;
18
+ "8.0.0": (_: string, id: string) => string;
19
+ };
20
+ datasourceByUID: {
21
+ "8.0.0": (uid: string) => string;
22
+ };
23
+ };
24
+ Dashboard: {
25
+ delete: {
26
+ "8.0.0": (uid: string) => string;
27
+ };
28
+ };
29
+ };
@@ -0,0 +1,154 @@
1
+ export declare const versionedComponents: {
2
+ TimePicker: {
3
+ openButton: {
4
+ '8.1.0': string;
5
+ "8.0.0": string;
6
+ };
7
+ fromField: {
8
+ '10.2.3': string;
9
+ "8.0.0": string;
10
+ };
11
+ toField: {
12
+ '10.2.3': string;
13
+ "8.0.0": string;
14
+ };
15
+ applyTimeRange: {
16
+ '8.1.0': string;
17
+ "8.0.0": string;
18
+ };
19
+ absoluteTimeRangeTitle: {
20
+ "8.0.0": string;
21
+ };
22
+ };
23
+ Panels: {
24
+ Panel: {
25
+ title: {
26
+ '8.1.2': (title: string) => string;
27
+ "8.0.0": (title: string) => string;
28
+ };
29
+ headerCornerInfo: {
30
+ "8.0.0": (mode: string) => string;
31
+ };
32
+ status: {
33
+ "10.2.0": (status: string) => string;
34
+ "8.0.0": (_: string) => string;
35
+ };
36
+ };
37
+ Visualization: {
38
+ Table: {
39
+ header: {
40
+ "8.0.0": string;
41
+ };
42
+ footer: {
43
+ "8.0.0": string;
44
+ };
45
+ body: {
46
+ '10.2.0': string;
47
+ };
48
+ };
49
+ };
50
+ };
51
+ PanelEditor: {
52
+ General: {
53
+ content: {
54
+ "8.0.0": string;
55
+ };
56
+ };
57
+ applyButton: {
58
+ '9.2.0': string;
59
+ "8.0.0": string;
60
+ };
61
+ toggleVizPicker: {
62
+ '10.0.0': string;
63
+ "8.0.0": string;
64
+ };
65
+ };
66
+ RefreshPicker: {
67
+ runButtonV2: {
68
+ "8.3.0": string;
69
+ "8.0.0": string;
70
+ };
71
+ };
72
+ QueryEditorRows: {
73
+ rows: {
74
+ "8.0.0": string;
75
+ };
76
+ };
77
+ QueryEditorRow: {
78
+ title: {
79
+ "8.0.0": (refId: string) => string;
80
+ };
81
+ };
82
+ Alert: {
83
+ alertV2: {
84
+ '8.3.0': (severity: string) => string;
85
+ "8.0.0": (severity: string) => string;
86
+ };
87
+ };
88
+ PageToolbar: {
89
+ item: {
90
+ "8.0.0": (tooltip: string) => string;
91
+ };
92
+ shotMoreItems: {
93
+ "8.0.0": string;
94
+ };
95
+ itemButton: {
96
+ "9.5.0": (title: string) => string;
97
+ };
98
+ itemButtonTitle: {
99
+ '10.1.0': string;
100
+ "8.0.0": string;
101
+ };
102
+ };
103
+ QueryEditorToolbarItem: {
104
+ button: {
105
+ "8.0.0": (title: string) => string;
106
+ };
107
+ };
108
+ OptionsGroup: {
109
+ group: {
110
+ "8.0.0": (title?: string) => string;
111
+ };
112
+ toggle: {
113
+ "8.0.0": (title?: string) => string;
114
+ };
115
+ groupTitle: {
116
+ "8.0.0": string;
117
+ };
118
+ };
119
+ PluginVisualization: {
120
+ item: {
121
+ "8.0.0": (title: string) => string;
122
+ };
123
+ };
124
+ Select: {
125
+ option: {
126
+ "8.0.0": string;
127
+ };
128
+ input: {
129
+ '8.3.0': () => string;
130
+ "8.0.0": () => string;
131
+ };
132
+ singleValue: {
133
+ "8.0.0": () => string;
134
+ };
135
+ };
136
+ DataSourcePicker: {
137
+ container: {
138
+ '10.0.0': string;
139
+ '8.3.0': string;
140
+ };
141
+ };
142
+ TimeZonePicker: {
143
+ containerV2: {
144
+ '8.3.0': string;
145
+ "8.0.0": string;
146
+ };
147
+ };
148
+ CodeEditor: {
149
+ container: {
150
+ '10.2.3': string;
151
+ "8.0.0": string;
152
+ };
153
+ };
154
+ };
@@ -0,0 +1 @@
1
+ export declare const MIN_GRAFANA_VERSION = "8.0.0";
@@ -0,0 +1,2 @@
1
+ export { versionedComponents } from './components';
2
+ export { versionedPages } from './pages';
@@ -0,0 +1,125 @@
1
+ export declare const versionedPages: {
2
+ Home: {
3
+ url: {
4
+ "8.0.0": string;
5
+ };
6
+ };
7
+ DataSource: {
8
+ saveAndTest: {
9
+ '10.0.0': string;
10
+ "8.0.0": string;
11
+ };
12
+ };
13
+ EditDataSource: {
14
+ url: {
15
+ '10.2.0': (dataSourceUid: string) => string;
16
+ "8.0.0": (dataSourceUid: string) => string;
17
+ };
18
+ };
19
+ AddDashboard: {
20
+ url: {
21
+ "8.0.0": string;
22
+ };
23
+ itemButton: {
24
+ '9.5.0': (title: string) => string;
25
+ };
26
+ addNewPanel: {
27
+ "8.0.0": string;
28
+ };
29
+ itemButtonAddViz: {
30
+ "8.0.0": string;
31
+ };
32
+ Settings: {
33
+ Annotations: {
34
+ List: {
35
+ url: {
36
+ "8.0.0": string;
37
+ };
38
+ };
39
+ Edit: {
40
+ url: {
41
+ "8.0.0": (annotationIndex: string) => string;
42
+ };
43
+ };
44
+ };
45
+ Variables: {
46
+ List: {
47
+ url: {
48
+ "8.0.0": string;
49
+ };
50
+ };
51
+ Edit: {
52
+ url: {
53
+ "8.0.0": (annotationIndex: string) => string;
54
+ };
55
+ };
56
+ };
57
+ };
58
+ };
59
+ Dashboard: {
60
+ url: {
61
+ "8.0.0": (uid: string) => string;
62
+ };
63
+ Settings: {
64
+ Annotations: {
65
+ Edit: {
66
+ url: {
67
+ "8.0.0": (dashboardUid: string, annotationIndex: string) => string;
68
+ };
69
+ };
70
+ List: {
71
+ url: {
72
+ "8.0.0": (dashboardUid: string) => string;
73
+ };
74
+ addAnnotationCTA: string;
75
+ addAnnotationCTAV2: {
76
+ '8.3.0': string;
77
+ };
78
+ };
79
+ };
80
+ Variables: {
81
+ List: {
82
+ url: {
83
+ "8.0.0": (dashboardUid: string) => string;
84
+ };
85
+ newButton: {
86
+ "8.0.0": string;
87
+ };
88
+ table: {
89
+ "8.0.0": string;
90
+ };
91
+ addVariableCTAV2: {
92
+ "8.0.0": (name: string) => string;
93
+ };
94
+ addVariableCTAV2Item: {
95
+ "8.0.0": string;
96
+ };
97
+ };
98
+ Edit: {
99
+ url: {
100
+ "8.0.0": (dashboardUid: string, editIndex: string) => string;
101
+ };
102
+ General: {
103
+ generalTypeSelectV2: {
104
+ '8.5.0': string;
105
+ "8.0.0": string;
106
+ };
107
+ previewOfValuesOption: {
108
+ '10.4.0': string;
109
+ "8.0.0": string;
110
+ };
111
+ submitButton: {
112
+ '10.4.0': string;
113
+ "8.0.0": string;
114
+ };
115
+ };
116
+ };
117
+ };
118
+ };
119
+ };
120
+ Explore: {
121
+ url: {
122
+ "8.0.0": string;
123
+ };
124
+ };
125
+ };
@@ -0,0 +1,8 @@
1
+ import { versionedAPIs } from './apis';
2
+ import { versionedComponents } from './components';
3
+ import { versionedPages } from './pages';
4
+ export type VersionedSelectors = {
5
+ pages: typeof versionedPages;
6
+ components: typeof versionedComponents;
7
+ apis: typeof versionedAPIs;
8
+ };