UNPKG

@grafana/e2e-selectors

Version:

Grafana End-to-End Test Selectors Library

1 lines • 70.8 kB
{"version":3,"file":"components.mjs","sources":["../../../src/selectors/components.ts"],"sourcesContent":["// NOTE: by default Component string selectors are set up to be aria-labels,\n// however there are many cases where your component may not need an aria-label\n// (a <button> with clear text, for example, does not need an aria-label as it's already labeled)\n// but you still might need to select it for testing,\n// in that case please add the attribute data-testid={selector} in the component and\n// prefix your selector string with 'data-testid' so that when create the selectors we know to search for it on the right attribute\n\nimport { VersionedSelectorGroup } from '../types';\n\nimport { MIN_GRAFANA_VERSION } from './constants';\n\n/**\n * Selectors grouped/defined in Components\n */\nexport const versionedComponents = {\n RadioButton: {\n container: {\n '10.2.3': 'data-testid radio-button',\n },\n },\n Breadcrumbs: {\n breadcrumb: {\n '9.4.0': (title: string) => `data-testid ${title} breadcrumb`,\n },\n },\n CanvasGridAddActions: {\n addPanel: {\n '12.1.0': 'data-testid CanvasGridAddActions add-panel',\n },\n groupPanels: {\n '12.1.0': 'data-testid CanvasGridAddActions group-panels',\n },\n ungroup: {\n '12.1.0': 'data-testid CanvasGridAddActions ungroup',\n },\n ungroupRows: {\n '12.1.0': 'data-testid CanvasGridAddActions ungroup-rows',\n },\n addRow: {\n '12.1.0': 'data-testid CanvasGridAddActions add-row',\n },\n pasteRow: {\n '12.1.0': 'data-testid CanvasGridAddActions paste-row',\n },\n addTab: {\n '12.1.0': 'data-testid CanvasGridAddActions add-tab',\n },\n pasteTab: {\n '12.1.0': 'data-testid CanvasGridAddActions paste-tab',\n },\n pastePanel: {\n '12.1.0': 'data-testid CanvasGridAddActions paste-panel',\n },\n },\n DashboardEditPaneSplitter: {\n primaryBody: {\n '12.1.0': 'data-testid DashboardEditPaneSplitter primary body',\n },\n },\n EditPaneHeader: {\n deleteButton: {\n '12.1.0': 'data-testid EditPaneHeader delete panel',\n },\n copyDropdown: {\n '12.1.0': 'data-testid EditPaneHeader copy dropdown',\n },\n copy: {\n '12.1.0': 'data-testid EditPaneHeader copy',\n },\n duplicate: {\n '12.1.0': 'data-testid EditPaneHeader duplicate',\n },\n backButton: {\n '12.1.0': 'data-testid EditPaneHeader back',\n },\n },\n TimePicker: {\n openButton: {\n [MIN_GRAFANA_VERSION]: 'data-testid TimePicker Open Button',\n },\n overlayContent: {\n '10.2.3': 'data-testid TimePicker Overlay Content',\n },\n fromField: {\n '10.2.3': 'data-testid Time Range from field',\n [MIN_GRAFANA_VERSION]: 'Time Range from field',\n },\n toField: {\n '10.2.3': 'data-testid Time Range to field',\n [MIN_GRAFANA_VERSION]: 'Time Range to field',\n },\n applyTimeRange: {\n [MIN_GRAFANA_VERSION]: 'data-testid TimePicker submit button',\n },\n copyTimeRange: {\n '10.4.0': 'data-testid TimePicker copy button',\n },\n pasteTimeRange: {\n '10.4.0': 'data-testid TimePicker paste button',\n },\n calendar: {\n label: {\n '10.2.3': 'data-testid Time Range calendar',\n [MIN_GRAFANA_VERSION]: 'Time Range calendar',\n },\n openButton: {\n '10.2.3': 'data-testid Open time range calendar',\n [MIN_GRAFANA_VERSION]: 'Open time range calendar',\n },\n closeButton: {\n '10.2.3': 'data-testid Close time range Calendar',\n [MIN_GRAFANA_VERSION]: 'Close time range Calendar',\n },\n },\n absoluteTimeRangeTitle: {\n [MIN_GRAFANA_VERSION]: 'data-testid-absolute-time-range-narrow',\n },\n },\n DataSourcePermissions: {\n form: { '9.5.0': () => 'form[name=\"addPermission\"]' },\n roleType: {\n '9.5.0': 'Role to add new permission to',\n },\n rolePicker: {\n '9.5.0': 'Built-in role picker',\n },\n permissionLevel: {\n '12.0.0': 'Permission level',\n '9.5.0': 'Permission Level',\n },\n },\n DateTimePicker: {\n input: {\n '10.2.3': 'data-testid date-time-input',\n },\n },\n DataSource: {\n TestData: {\n QueryTab: {\n scenarioSelectContainer: {\n [MIN_GRAFANA_VERSION]: 'Test Data Query scenario select container',\n },\n scenarioSelect: {\n [MIN_GRAFANA_VERSION]: 'Test Data Query scenario select',\n },\n max: {\n [MIN_GRAFANA_VERSION]: 'TestData max',\n },\n min: {\n [MIN_GRAFANA_VERSION]: 'TestData min',\n },\n noise: {\n [MIN_GRAFANA_VERSION]: 'TestData noise',\n },\n seriesCount: {\n [MIN_GRAFANA_VERSION]: 'TestData series count',\n },\n spread: {\n [MIN_GRAFANA_VERSION]: 'TestData spread',\n },\n startValue: {\n [MIN_GRAFANA_VERSION]: 'TestData start value',\n },\n drop: {\n [MIN_GRAFANA_VERSION]: 'TestData drop values',\n },\n },\n },\n DataSourceHttpSettings: {\n urlInput: {\n '10.4.0': 'data-testid Datasource HTTP settings url',\n [MIN_GRAFANA_VERSION]: 'Datasource HTTP settings url',\n },\n },\n Jaeger: {\n traceIDInput: {\n [MIN_GRAFANA_VERSION]: 'Trace ID',\n },\n },\n Prometheus: {\n configPage: {\n connectionSettings: {\n [MIN_GRAFANA_VERSION]: 'Data source connection URL', // aria-label in grafana experimental\n },\n manageAlerts: {\n '10.4.0': 'prometheus-alerts-manager', // id for switch component\n },\n allowAsRecordingRulesTarget: {\n '12.1.0': 'prometheus-recording-rules-target',\n },\n scrapeInterval: {\n '10.4.0': 'data-testid scrape interval',\n },\n queryTimeout: {\n '10.4.0': 'data-testid query timeout',\n },\n defaultEditor: {\n '10.4.0': 'data-testid default editor',\n },\n disableMetricLookup: {\n '10.4.0': 'disable-metric-lookup', // id for switch component\n },\n prometheusType: {\n '10.4.0': 'data-testid prometheus type',\n },\n prometheusVersion: {\n '10.4.0': 'data-testid prometheus version',\n },\n cacheLevel: {\n '10.4.0': 'data-testid cache level',\n },\n incrementalQuerying: {\n '10.4.0': 'prometheus-incremental-querying', // id for switch component\n },\n queryOverlapWindow: {\n '10.4.0': 'data-testid query overlap window',\n },\n disableRecordingRules: {\n '10.4.0': 'disable-recording-rules', // id for switch component\n },\n customQueryParameters: {\n '10.4.0': 'data-testid custom query parameters',\n },\n httpMethod: {\n '10.4.0': 'data-testid http method',\n },\n exemplarsAddButton: {\n '10.3.0': 'data-testid Add exemplar config button',\n [MIN_GRAFANA_VERSION]: 'Add exemplar config button',\n },\n internalLinkSwitch: {\n '10.3.0': 'data-testid Internal link switch',\n [MIN_GRAFANA_VERSION]: 'Internal link switch',\n },\n codeModeMetricNamesSuggestionLimit: {\n '11.1.0': 'data-testid code mode metric names suggestion limit',\n },\n seriesLimit: {\n '12.0.2': 'data-testid maximum series limit',\n },\n },\n queryEditor: {\n explain: {\n '10.4.0': 'data-testid prometheus explain switch wrapper',\n },\n editorToggle: {\n '10.4.0': 'data-testid QueryEditorModeToggle', // wrapper for toggle\n },\n options: {\n '10.4.0': 'data-testid prometheus options', // wrapper for options group\n },\n legend: {\n '10.4.0': 'data-testid prometheus legend wrapper', // wrapper for multiple compomnents\n },\n format: {\n '10.4.0': 'data-testid prometheus format',\n },\n step: {\n '10.4.0': 'data-testid prometheus-step', // id for autosize component\n },\n type: {\n '10.4.0': 'data-testid prometheus type', //wrapper for radio button group\n },\n exemplars: {\n '10.4.0': 'data-testid prometheus-exemplars', // id for editor switch component\n },\n builder: {\n // see QueryBuilder below for commented selectors\n metricSelect: {\n '10.4.0': 'data-testid metric select',\n },\n hints: {\n '10.4.0': 'data-testid prometheus hints', // wrapper for hints component\n },\n metricsExplorer: {\n '10.4.0': 'data-testid metrics explorer',\n },\n queryAdvisor: {\n '10.4.0': 'data-testid query advisor',\n },\n },\n code: {\n queryField: {\n '10.4.0': 'data-testid prometheus query field',\n },\n metricsCountInfo: {\n '11.1.0': 'data-testid metrics count disclaimer',\n },\n metricsBrowser: {\n openButton: {\n '10.4.0': 'data-testid open metrics browser',\n },\n selectMetric: {\n '10.4.0': 'data-testid select a metric',\n },\n seriesLimit: {\n '10.3.1': 'data-testid series limit',\n },\n metricList: {\n '10.4.0': 'data-testid metric list',\n },\n labelNamesFilter: {\n '10.4.0': 'data-testid label names filter',\n },\n labelValuesFilter: {\n '10.4.0': 'data-testid label values filter',\n },\n useQuery: {\n '10.4.0': 'data-testid use query',\n },\n useAsRateQuery: {\n '10.4.0': 'data-testid use as rate query',\n },\n validateSelector: {\n '10.4.0': 'data-testid validate selector',\n },\n clear: {\n '10.4.0': 'data-testid clear',\n },\n },\n },\n },\n exemplarMarker: {\n '10.3.0': 'data-testid Exemplar marker',\n [MIN_GRAFANA_VERSION]: 'Exemplar marker',\n },\n variableQueryEditor: {\n queryType: {\n '10.4.0': 'data-testid query type',\n },\n labelnames: {\n metricRegex: {\n '10.4.0': 'data-testid label names metric regex',\n },\n },\n labelValues: {\n labelSelect: {\n '10.4.0': 'data-testid label values label select',\n },\n },\n metricNames: {\n metricRegex: {\n '10.4.0': 'data-testid metric names metric regex',\n },\n },\n varQueryResult: {\n '10.4.0': 'data-testid variable query result',\n },\n seriesQuery: {\n '10.4.0': 'data-testid prometheus series query',\n },\n classicQuery: {\n '10.4.0': 'data-testid prometheus classic query',\n },\n },\n annotations: {\n minStep: {\n '10.4.0': 'data-testid prometheus-annotation-min-step', // id for autosize input\n },\n title: {\n '10.4.0': 'data-testid prometheus annotation title',\n },\n tags: {\n '10.4.0': 'data-testid prometheus annotation tags',\n },\n text: {\n '10.4.0': 'data-testid prometheus annotation text',\n },\n seriesValueAsTimestamp: {\n '10.4.0': 'data-testid prometheus annotation series value as timestamp',\n },\n },\n },\n },\n Menu: {\n MenuComponent: {\n [MIN_GRAFANA_VERSION]: (title: string) => `${title} menu`,\n },\n MenuGroup: {\n [MIN_GRAFANA_VERSION]: (title: string) => `${title} menu group`,\n },\n MenuItem: {\n [MIN_GRAFANA_VERSION]: (title: string) => `${title} menu item`,\n },\n SubMenu: {\n container: {\n '10.3.0': 'data-testid SubMenu container',\n [MIN_GRAFANA_VERSION]: 'SubMenu container',\n },\n icon: {\n '10.3.0': 'data-testid SubMenu icon',\n [MIN_GRAFANA_VERSION]: 'SubMenu icon',\n },\n },\n },\n Panels: {\n Panel: {\n title: {\n [MIN_GRAFANA_VERSION]: (title: string) => `data-testid Panel header ${title}`,\n },\n content: {\n '11.1.0': 'data-testid panel content',\n },\n headerContainer: {\n '9.5.0': 'data-testid header-container',\n },\n headerItems: {\n '10.2.0': (item: string) => `data-testid Panel header item ${item}`,\n },\n menuItems: {\n '9.5.0': (item: string) => `data-testid Panel menu item ${item}`,\n },\n menu: {\n '9.5.0': (title: string) => `data-testid Panel menu ${title}`,\n },\n containerByTitle: {\n [MIN_GRAFANA_VERSION]: (title: string) => `${title} panel`,\n },\n headerCornerInfo: {\n [MIN_GRAFANA_VERSION]: (mode: string) => `Panel header ${mode}`,\n },\n status: {\n '10.2.0': (status: string) => `data-testid Panel status ${status}`,\n [MIN_GRAFANA_VERSION]: (_: string) => 'Panel status',\n },\n loadingBar: {\n '10.0.0': () => `Panel loading bar`,\n },\n HoverWidget: {\n container: {\n '10.1.0': 'data-testid hover-header-container',\n [MIN_GRAFANA_VERSION]: 'hover-header-container',\n },\n dragIcon: {\n '10.0.0': 'data-testid drag-icon',\n },\n },\n PanelDataErrorMessage: {\n '10.4.0': 'data-testid Panel data error message',\n },\n },\n Visualization: {\n Graph: {\n container: {\n '9.5.0': 'Graph container',\n },\n VisualizationTab: {\n legendSection: {\n [MIN_GRAFANA_VERSION]: 'Legend section',\n },\n },\n Legend: {\n legendItemAlias: {\n [MIN_GRAFANA_VERSION]: (name: string) => `gpl alias ${name}`,\n },\n showLegendSwitch: {\n [MIN_GRAFANA_VERSION]: 'gpl show legend',\n },\n },\n xAxis: {\n labels: {\n [MIN_GRAFANA_VERSION]: () => 'div.flot-x-axis > div.flot-tick-label',\n },\n },\n },\n BarGauge: {\n valueV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Bar gauge value',\n },\n },\n PieChart: {\n svgSlice: {\n '10.3.0': 'data testid Pie Chart Slice',\n },\n },\n Text: {\n container: { [MIN_GRAFANA_VERSION]: () => '.markdown-html' },\n },\n Table: {\n header: {\n [MIN_GRAFANA_VERSION]: 'table header',\n },\n footer: {\n [MIN_GRAFANA_VERSION]: 'table-footer',\n },\n body: {\n '10.2.0': 'data-testid table body',\n },\n },\n TableNG: {\n Filters: {\n HeaderButton: {\n '12.1.0': 'data-testid tableng header filter',\n },\n Container: {\n '12.1.0': 'data-testid tablenf filter container',\n },\n SelectAll: {\n '12.1.0': 'data-testid tableng filter select-all',\n },\n },\n Tooltip: {\n Wrapper: {\n '12.2.0': 'data-testid tableng tooltip wrapper',\n },\n Caret: {\n '12.2.0': 'data-testid tableng tooltip caret',\n },\n },\n Footer: {\n ReducerLabel: {\n '12.2.0': 'data-testid tableng footer reducer-label',\n },\n Value: {\n '12.2.0': 'data-testid tableng footer value',\n },\n },\n },\n Tooltip: {\n Wrapper: {\n '12.3.0': 'data-testid viz-tooltip-wrapper',\n },\n },\n },\n },\n VizLegend: {\n seriesName: {\n '10.3.0': (name: string) => `data-testid VizLegend series ${name}`,\n },\n },\n Drawer: {\n General: {\n title: {\n [MIN_GRAFANA_VERSION]: (title: string) => `Drawer title ${title}`,\n },\n expand: {\n [MIN_GRAFANA_VERSION]: 'Drawer expand',\n },\n contract: {\n [MIN_GRAFANA_VERSION]: 'Drawer contract',\n },\n close: {\n '10.3.0': 'data-testid Drawer close',\n [MIN_GRAFANA_VERSION]: 'Drawer close',\n },\n rcContentWrapper: { '9.4.0': () => '.rc-drawer-content-wrapper' },\n subtitle: {\n '10.4.0': 'data-testid drawer subtitle',\n },\n },\n DashboardSaveDrawer: {\n saveButton: {\n '11.1.0': 'data-testid Save dashboard drawer button',\n },\n saveAsButton: {\n '11.1.0': 'data-testid Save as dashboard drawer button',\n },\n saveAsTitleInput: {\n '11.1.0': 'Save dashboard title field',\n },\n },\n },\n PanelEditor: {\n General: {\n content: {\n '11.1.0': 'data-testid Panel editor content',\n '8.0.0': 'Panel editor content',\n },\n },\n OptionsPane: {\n content: {\n '11.1.0': 'data-testid Panel editor option pane content',\n [MIN_GRAFANA_VERSION]: 'Panel editor option pane content',\n },\n select: {\n [MIN_GRAFANA_VERSION]: 'Panel editor option pane select',\n },\n fieldLabel: {\n [MIN_GRAFANA_VERSION]: (type: string) => `${type} field property editor`,\n },\n fieldInput: {\n '11.0.0': (title: string) => `data-testid Panel editor option pane field input ${title}`,\n },\n },\n DataPane: {\n content: {\n '11.1.0': 'data-testid Panel editor data pane content',\n [MIN_GRAFANA_VERSION]: 'Panel editor data pane content',\n },\n },\n applyButton: {\n '9.2.0': 'data-testid Apply changes and go back to dashboard',\n '9.1.0': 'Apply changes and go back to dashboard',\n '8.0.0': 'panel editor apply',\n },\n toggleVizPicker: {\n '10.0.0': 'data-testid toggle-viz-picker',\n '8.0.0': 'toggle-viz-picker',\n },\n toggleVizOptions: {\n '10.1.0': 'data-testid toggle-viz-options',\n [MIN_GRAFANA_VERSION]: 'toggle-viz-options',\n },\n toggleTableView: {\n '11.1.0': 'data-testid toggle-table-view',\n [MIN_GRAFANA_VERSION]: 'toggle-table-view',\n },\n\n // [Geomap] Map controls\n showZoomField: {\n '10.2.0': 'Map controls Show zoom control field property editor',\n },\n showAttributionField: {\n '10.2.0': 'Map controls Show attribution field property editor',\n },\n showScaleField: {\n '10.2.0': 'Map controls Show scale field property editor',\n },\n showMeasureField: {\n '10.2.0': 'Map controls Show measure tools field property editor',\n },\n showDebugField: {\n '10.2.0': 'Map controls Show debug field property editor',\n },\n\n measureButton: {\n '12.1.0': 'data-testid panel-editor-measure-button',\n '9.2.0': 'show measure tools',\n },\n\n Outline: {\n section: {\n '12.0.0': 'data-testid Outline section',\n },\n node: {\n '12.0.0': (type: string) => `data-testid outline node ${type}`,\n },\n item: {\n '12.0.0': (type: string) => `data-testid outline item ${type}`,\n },\n },\n ElementEditPane: {\n variableType: {\n '12.0.0': (type?: string) => `data-testid variable type ${type}`,\n },\n addVariableButton: {\n '12.0.0': 'data-testid add variable button',\n },\n variableNameInput: {\n '12.0.0': 'data-testid variable name input',\n },\n variableLabelInput: {\n '12.0.0': 'data-testid variable label input',\n },\n AutoGridLayout: {\n minColumnWidth: {\n '12.1.0': 'data-testid min column width selector',\n },\n customMinColumnWidth: {\n '12.1.0': 'data-testid custom min column width input',\n },\n clearCustomMinColumnWidth: {\n '12.1.0': 'data-testid clear custom min column width input',\n },\n maxColumns: {\n '12.1.0': 'data-testid max columns selector',\n },\n rowHeight: {\n '12.1.0': 'data-testid row height selector',\n },\n customRowHeight: {\n '12.1.0': 'data-testid custom row height input',\n },\n clearCustomRowHeight: {\n '12.1.0': 'data-testid clear custom row height input',\n },\n fillScreen: {\n '12.1.0': 'data-testid fill screen switch',\n },\n },\n TabsLayout: {\n titleInput: {\n '12.2.0': 'data-testid tab title input',\n },\n },\n },\n },\n PanelInspector: {\n Data: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Panel inspector Data content',\n },\n },\n Stats: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Panel inspector Stats content',\n },\n },\n Json: {\n content: {\n '11.1.0': 'data-testid Panel inspector Json content',\n [MIN_GRAFANA_VERSION]: 'Panel inspector Json content',\n },\n },\n Query: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Panel inspector Query content',\n },\n refreshButton: {\n [MIN_GRAFANA_VERSION]: 'Panel inspector Query refresh button',\n },\n jsonObjectKeys: {\n [MIN_GRAFANA_VERSION]: () => '.json-formatter-key',\n },\n },\n },\n Tab: {\n title: {\n '11.2.0': (title: string) => `data-testid Tab ${title}`,\n },\n active: { [MIN_GRAFANA_VERSION]: () => '[class*=\"-activeTabStyle\"]' },\n },\n RefreshPicker: {\n runButtonV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid RefreshPicker run button',\n },\n intervalButtonV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid RefreshPicker interval button',\n },\n },\n QueryTab: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Query editor tab content',\n },\n queryInspectorButton: {\n [MIN_GRAFANA_VERSION]: 'Query inspector button',\n },\n queryHistoryButton: {\n '10.2.0': 'data-testid query-history-button',\n [MIN_GRAFANA_VERSION]: 'query-history-button',\n },\n addQuery: {\n '10.2.0': 'data-testid query-tab-add-query',\n [MIN_GRAFANA_VERSION]: 'Query editor add query button',\n },\n addQueryFromLibrary: {\n '11.5.0': 'data-testid query-tab-add-query-from-library',\n },\n queryGroupTopSection: {\n '11.2.0': 'data-testid query group top section',\n },\n addExpression: {\n '11.2.0': 'data-testid query-tab-add-expression',\n },\n },\n QueryHistory: {\n queryText: {\n '9.0.0': 'Query text',\n },\n },\n QueryEditorRows: {\n rows: {\n [MIN_GRAFANA_VERSION]: 'Query editor row',\n },\n },\n QueryEditorRow: {\n actionButton: {\n '10.4.0': (title: string) => `data-testid ${title}`,\n },\n title: {\n [MIN_GRAFANA_VERSION]: (refId: string) => `Query editor row title ${refId}`,\n },\n container: {\n [MIN_GRAFANA_VERSION]: (refId: string) => `Query editor row ${refId}`,\n },\n },\n AlertTab: {\n content: {\n '10.2.3': 'data-testid Alert editor tab content',\n [MIN_GRAFANA_VERSION]: 'Alert editor tab content',\n },\n },\n AlertRules: {\n groupToggle: {\n '11.0.0': 'data-testid group-collapse-toggle',\n },\n toggle: {\n '11.0.0': 'data-testid collapse-toggle',\n },\n expandedContent: {\n '11.0.0': 'data-testid expanded-content',\n },\n previewButton: {\n '11.1.0': 'data-testid alert-rule preview-button',\n },\n ruleNameField: {\n '11.1.0': 'data-testid alert-rule name-field',\n },\n newFolderButton: {\n '11.1.0': 'data-testid alert-rule new-folder-button',\n },\n newFolderNameField: {\n '11.1.0': 'data-testid alert-rule name-folder-name-field',\n },\n newFolderNameCreateButton: {\n '11.1.0': 'data-testid alert-rule name-folder-name-create-button',\n },\n newEvaluationGroupButton: {\n '11.1.0': 'data-testid alert-rule new-evaluation-group-button',\n },\n newEvaluationGroupName: {\n '11.1.0': 'data-testid alert-rule new-evaluation-group-name',\n },\n newEvaluationGroupInterval: {\n '11.1.0': 'data-testid alert-rule new-evaluation-group-interval',\n },\n newEvaluationGroupCreate: {\n '11.1.0': 'data-testid alert-rule new-evaluation-group-create-button',\n },\n step: {\n '11.5.0': (stepNo: string) => `data-testid alert-rule step-${stepNo}`,\n },\n stepAdvancedModeSwitch: {\n '11.5.0': (stepNo: string) => `data-testid advanced-mode-switch step-${stepNo}`,\n },\n },\n Alert: {\n alertV2: {\n [MIN_GRAFANA_VERSION]: (severity: string) => `data-testid Alert ${severity}`,\n },\n },\n TransformTab: {\n content: {\n '10.1.0': 'data-testid Transform editor tab content',\n [MIN_GRAFANA_VERSION]: 'Transform editor tab content',\n },\n newTransform: {\n '10.1.0': (name: string) => `data-testid New transform ${name}`,\n },\n transformationEditor: {\n '10.1.0': (name: string) => `data-testid Transformation editor ${name}`,\n },\n transformationEditorDebugger: {\n '10.1.0': (name: string) => `data-testid Transformation editor debugger ${name}`,\n },\n },\n Transforms: {\n card: {\n '10.1.0': (name: string) => `data-testid New transform ${name}`,\n },\n disableTransformationButton: {\n '10.4.0': 'data-testid Disable transformation button',\n },\n Reduce: {\n modeLabel: {\n '10.2.3': 'data-testid Transform mode label',\n [MIN_GRAFANA_VERSION]: 'Transform mode label',\n },\n calculationsLabel: {\n '10.2.3': 'data-testid Transform calculations label',\n [MIN_GRAFANA_VERSION]: 'Transform calculations label',\n },\n },\n SpatialOperations: {\n actionLabel: {\n '9.1.2': 'root Action field property editor',\n },\n locationLabel: {\n '10.2.0': 'root Location Mode field property editor',\n },\n location: {\n autoOption: {\n '9.1.2': 'Auto location option',\n },\n coords: {\n option: {\n '9.1.2': 'Coords location option',\n },\n latitudeFieldLabel: {\n '9.1.2': 'root Latitude field field property editor',\n },\n longitudeFieldLabel: {\n '9.1.2': 'root Longitude field field property editor',\n },\n },\n geohash: {\n option: {\n '9.1.2': 'Geohash location option',\n },\n geohashFieldLabel: {\n '9.1.2': 'root Geohash field field property editor',\n },\n },\n lookup: {\n option: {\n '9.1.2': 'Lookup location option',\n },\n lookupFieldLabel: {\n '9.1.2': 'root Lookup field field property editor',\n },\n gazetteerFieldLabel: {\n '9.1.2': 'root Gazetteer field property editor',\n },\n },\n },\n },\n searchInput: {\n '10.2.3': 'data-testid search transformations',\n [MIN_GRAFANA_VERSION]: 'search transformations',\n },\n noTransformationsMessage: {\n '10.2.3': 'data-testid no transformations message',\n },\n addTransformationButton: {\n '10.1.0': 'data-testid add transformation button',\n [MIN_GRAFANA_VERSION]: 'add transformation button',\n },\n removeAllTransformationsButton: {\n '10.4.0': 'data-testid remove all transformations button',\n },\n },\n NavBar: {\n Configuration: {\n button: {\n '9.5.0': 'Configuration',\n },\n },\n Toggle: {\n button: {\n '10.2.3': 'data-testid Toggle menu',\n [MIN_GRAFANA_VERSION]: 'Toggle menu',\n },\n },\n Reporting: {\n button: {\n '9.5.0': 'Reporting',\n },\n },\n },\n NavMenu: {\n Menu: {\n '10.2.3': 'data-testid navigation mega-menu',\n },\n item: {\n '9.5.0': 'data-testid Nav menu item',\n },\n },\n NavToolbar: {\n container: {\n '9.4.0': 'data-testid Nav toolbar',\n },\n commandPaletteTrigger: {\n '11.5.0': 'data-testid Command palette trigger',\n },\n shareDashboard: {\n '11.1.0': 'data-testid Share dashboard',\n },\n markAsFavorite: {\n '11.1.0': 'data-testid Mark as favorite',\n },\n editDashboard: {\n editButton: {\n '11.1.0': 'data-testid Edit dashboard button',\n },\n saveButton: {\n '11.1.0': 'data-testid Save dashboard button',\n },\n exitButton: {\n '11.1.0': 'data-testid Exit edit mode button',\n },\n settingsButton: {\n '11.1.0': 'data-testid Dashboard settings',\n },\n addRowButton: {\n '11.1.0': 'data-testid Add row button',\n },\n addLibraryPanelButton: {\n '11.1.0': 'data-testid Add a panel from the panel library button',\n },\n addVisualizationButton: {\n '11.1.0': 'data-testid Add new visualization menu item',\n },\n pastePanelButton: {\n '11.1.0': 'data-testid Paste panel button',\n },\n discardChangesButton: {\n '11.1.0': 'data-testid Discard changes button',\n },\n discardLibraryPanelButton: {\n '11.1.0': 'data-testid Discard library panel button',\n },\n unlinkLibraryPanelButton: {\n '11.1.0': 'data-testid Unlink library panel button',\n },\n saveLibraryPanelButton: {\n '11.1.0': 'data-testid Save library panel button',\n },\n backToDashboardButton: {\n '11.1.0': 'data-testid Back to dashboard button',\n },\n },\n },\n\n PageToolbar: {\n container: { [MIN_GRAFANA_VERSION]: () => '.page-toolbar' },\n item: {\n [MIN_GRAFANA_VERSION]: (tooltip: string) => `${tooltip}`,\n },\n itemButton: {\n '9.5.0': (title: string) => `data-testid ${title}`,\n },\n },\n QueryEditorToolbarItem: {\n button: {\n [MIN_GRAFANA_VERSION]: (title: string) => `QueryEditor toolbar item button ${title}`,\n },\n },\n BackButton: {\n backArrow: {\n '10.3.0': 'data-testid Go Back',\n [MIN_GRAFANA_VERSION]: 'Go Back',\n },\n },\n OptionsGroup: {\n group: {\n '11.1.0': (title?: string) => (title ? `data-testid Options group ${title}` : 'data-testid Options group'),\n [MIN_GRAFANA_VERSION]: (title?: string) => (title ? `Options group ${title}` : 'Options group'),\n },\n toggle: {\n '11.1.0': (title?: string) =>\n title ? `data-testid Options group ${title} toggle` : 'data-testid Options group toggle',\n [MIN_GRAFANA_VERSION]: (title?: string) => (title ? `Options group ${title} toggle` : 'Options group toggle'),\n },\n },\n PluginVisualization: {\n item: {\n [MIN_GRAFANA_VERSION]: (title: string) => `Plugin visualization item ${title}`,\n },\n current: {\n [MIN_GRAFANA_VERSION]: () => '[class*=\"-currentVisualizationItem\"]',\n },\n },\n Select: {\n menu: {\n '11.5.0': 'data-testid Select menu',\n [MIN_GRAFANA_VERSION]: 'Select options menu',\n },\n option: {\n '11.1.0': 'data-testid Select option',\n [MIN_GRAFANA_VERSION]: 'Select option',\n },\n toggleAllOptions: {\n '11.3.0': 'data-testid toggle all options',\n },\n input: {\n [MIN_GRAFANA_VERSION]: () => 'input[id*=\"time-options-input\"]',\n },\n singleValue: {\n [MIN_GRAFANA_VERSION]: () => 'div[class*=\"-singleValue\"]',\n },\n },\n FieldConfigEditor: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Field config editor content',\n },\n },\n OverridesConfigEditor: {\n content: {\n [MIN_GRAFANA_VERSION]: 'Field overrides editor content',\n },\n },\n FolderPicker: {\n containerV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Folder picker select container',\n },\n input: {\n '10.4.0': 'data-testid folder-picker-input',\n },\n },\n ReadonlyFolderPicker: {\n container: {\n [MIN_GRAFANA_VERSION]: 'data-testid Readonly folder picker select container',\n },\n },\n DataSourcePicker: {\n container: {\n '10.0.0': 'data-testid Data source picker select container',\n '8.0.0': 'Data source picker select container',\n },\n inputV2: {\n '10.1.0': 'data-testid Select a data source',\n [MIN_GRAFANA_VERSION]: 'Select a data source',\n },\n dataSourceList: {\n '10.4.0': 'data-testid Data source list dropdown',\n },\n advancedModal: {\n dataSourceList: {\n '10.4.0': 'data-testid Data source list',\n },\n builtInDataSourceList: {\n '10.4.0': 'data-testid Built in data source list',\n },\n },\n },\n TimeZonePicker: {\n containerV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Time zone picker select container',\n },\n changeTimeSettingsButton: {\n '11.0.0': 'data-testid Time zone picker Change time settings button',\n },\n },\n WeekStartPicker: {\n containerV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Choose starting day of the week',\n },\n placeholder: {\n [MIN_GRAFANA_VERSION]: 'Choose starting day of the week',\n },\n },\n TraceViewer: {\n spanBar: {\n '9.0.0': 'data-testid SpanBar--wrapper',\n },\n },\n QueryField: {\n container: {\n '10.3.0': 'data-testid Query field',\n [MIN_GRAFANA_VERSION]: 'Query field',\n },\n },\n QueryBuilder: {\n queryPatterns: {\n '10.3.0': 'data-testid Query patterns',\n [MIN_GRAFANA_VERSION]: 'Query patterns',\n },\n labelSelect: {\n '10.3.0': 'data-testid Select label',\n [MIN_GRAFANA_VERSION]: 'Select label',\n },\n inputSelect: {\n '11.1.0': 'data-testid Select label-input',\n },\n valueSelect: {\n '10.3.0': 'data-testid Select value',\n [MIN_GRAFANA_VERSION]: 'Select value',\n },\n matchOperatorSelect: {\n '10.3.0': 'data-testid Select match operator',\n [MIN_GRAFANA_VERSION]: 'Select match operator',\n },\n },\n ValuePicker: {\n button: {\n '10.3.0': (name: string) => `data-testid Value picker button ${name}`,\n },\n select: {\n '10.3.0': (name: string) => `data-testid Value picker select ${name}`,\n },\n },\n Search: {\n sectionV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Search section',\n },\n itemsV2: {\n [MIN_GRAFANA_VERSION]: 'data-testid Search items',\n },\n cards: {\n [MIN_GRAFANA_VERSION]: 'data-testid Search cards',\n },\n collapseFolder: {\n [MIN_GRAFANA_VERSION]: (sectionId: string) => `data-testid Collapse folder ${sectionId}`,\n },\n expandFolder: {\n [MIN_GRAFANA_VERSION]: (sectionId: string) => `data-testid Expand folder ${sectionId}`,\n },\n dashboardItem: {\n [MIN_GRAFANA_VERSION]: (item: string) => `data-testid Dashboard search item ${item}`,\n },\n dashboardCard: {\n [MIN_GRAFANA_VERSION]: (item: string) => `data-testid Search card ${item}`,\n },\n folderHeader: {\n '9.3.0': (folderName: string) => `data-testid Folder header ${folderName}`,\n },\n folderContent: {\n '9.3.0': (folderName: string) => `data-testid Folder content ${folderName}`,\n },\n dashboardItems: {\n [MIN_GRAFANA_VERSION]: 'data-testid Dashboard search item',\n },\n },\n DashboardLinks: {\n container: {\n [MIN_GRAFANA_VERSION]: 'data-testid Dashboard link container',\n },\n dropDown: {\n [MIN_GRAFANA_VERSION]: 'data-testid Dashboard link dropdown',\n },\n link: {\n [MIN_GRAFANA_VERSION]: 'data-testid Dashboard link',\n },\n },\n LoadingIndicator: {\n icon: {\n '10.4.0': 'data-testid Loading indicator',\n [MIN_GRAFANA_VERSION]: 'Loading indicator',\n },\n },\n CallToActionCard: {\n buttonV2: {\n [MIN_GRAFANA_VERSION]: (name: string) => `data-testid Call to action button ${name}`,\n },\n },\n DataLinksContextMenu: {\n singleLink: {\n '10.3.0': 'data-testid Data link',\n [MIN_GRAFANA_VERSION]: 'Data link',\n },\n },\n DataLinksActionsTooltip: {\n tooltipWrapper: {\n '12.1.0': 'data-testid Data links actions tooltip wrapper',\n },\n },\n CodeEditor: {\n container: {\n '10.2.3': 'data-testid Code editor container',\n [MIN_GRAFANA_VERSION]: 'Code editor container',\n },\n },\n ReactMonacoEditor: {\n editorLazy: {\n '11.1.0': 'data-testid ReactMonacoEditor editorLazy',\n },\n },\n DashboardImportPage: {\n textarea: {\n [MIN_GRAFANA_VERSION]: 'data-testid-import-dashboard-textarea',\n },\n submit: {\n [MIN_GRAFANA_VERSION]: 'data-testid-load-dashboard',\n },\n },\n ImportDashboardForm: {\n name: {\n [MIN_GRAFANA_VERSION]: 'data-testid-import-dashboard-title',\n },\n submit: {\n [MIN_GRAFANA_VERSION]: 'data-testid-import-dashboard-submit',\n },\n },\n PanelAlertTabContent: {\n content: {\n '10.2.3': 'data-testid Unified alert editor tab content',\n [MIN_GRAFANA_VERSION]: 'Unified alert editor tab content',\n },\n },\n VisualizationPreview: {\n card: {\n [MIN_GRAFANA_VERSION]: (name: string) => `data-testid suggestion-${name}`,\n },\n },\n ColorSwatch: {\n name: {\n [MIN_GRAFANA_VERSION]: 'data-testid-colorswatch',\n },\n },\n DashboardRow: {\n title: {\n [MIN_GRAFANA_VERSION]: (title: string) => `data-testid dashboard-row-title-${title}`,\n },\n wrapper: {\n '12.1.0': (title: string) => `data-testid dashboard-row-wrapper-for-${title}`,\n },\n },\n UserProfile: {\n profileSaveButton: {\n [MIN_GRAFANA_VERSION]: 'data-testid-user-profile-save',\n },\n preferencesSaveButton: {\n [MIN_GRAFANA_VERSION]: 'data-testid-shared-prefs-save',\n },\n orgsTable: {\n [MIN_GRAFANA_VERSION]: 'data-testid-user-orgs-table',\n },\n sessionsTable: {\n [MIN_GRAFANA_VERSION]: 'data-testid-user-sessions-table',\n },\n extensionPointTabs: {\n '10.2.3': 'data-testid-extension-point-tabs',\n },\n extensionPointTab: {\n '10.2.3': (tabId: string) => `data-testid-extension-point-tab-${tabId}`,\n },\n },\n FileUpload: {\n inputField: {\n '9.0.0': 'data-testid-file-upload-input-field',\n },\n fileNameSpan: {\n '9.0.0': 'data-testid-file-upload-file-name',\n },\n },\n DebugOverlay: {\n wrapper: {\n '9.2.0': 'debug-overlay',\n },\n },\n OrgRolePicker: {\n input: {\n '9.5.0': 'Role',\n },\n },\n AnalyticsToolbarButton: {\n button: {\n '9.5.0': 'Dashboard insights',\n },\n },\n Variables: {\n variableOption: {\n '9.5.0': 'data-testid variable-option',\n },\n variableLinkWrapper: {\n '11.1.1': 'data-testid variable-link-wrapper',\n },\n },\n Annotations: {\n annotationsTypeInput: {\n '11.1.0': 'data-testid annotations-type-input',\n [MIN_GRAFANA_VERSION]: 'annotations-type-input',\n },\n annotationsChoosePanelInput: {\n '11.1.0': 'data-testid choose-panels-input',\n [MIN_GRAFANA_VERSION]: 'choose-panels-input',\n },\n editor: {\n testButton: {\n '11.0.0': 'data-testid annotations-test-button',\n },\n resultContainer: {\n '11.0.0': 'data-testid annotations-query-result-container',\n },\n },\n },\n Tooltip: {\n container: {\n '10.2.0': 'data-testid tooltip',\n },\n },\n ReturnToPrevious: {\n buttonGroup: {\n '11.0.0': 'data-testid dismissable button group',\n },\n backButton: {\n '11.0.0': 'data-testid back',\n },\n dismissButton: {\n '11.0.0': 'data-testid dismiss',\n },\n },\n SQLQueryEditor: {\n selectColumn: {\n '11.0.0': 'data-testid select-column',\n },\n selectColumnInput: { '11.0.0': 'data-testid select-column-input' },\n selectFunctionParameter: { '11.0.0': (name: string) => `data-testid select-function-parameter-${name}` },\n selectAggregation: {\n '11.0.0': 'data-testid select-aggregation',\n },\n selectAggregationInput: { '11.0.0': 'data-testid select-aggregation-input' },\n selectAlias: {\n '11.0.0': 'data-testid select-alias',\n },\n selectAliasInput: { '11.0.0': 'data-testid select-alias-input' },\n selectInputParameter: { '11.0.0': 'data-testid select-input-parameter' },\n filterConjunction: {\n '11.0.0': 'data-testid filter-conjunction',\n },\n filterField: {\n '11.0.0': 'data-testid filter-field',\n },\n filterOperator: {\n '11.0.0': 'data-testid filter-operator',\n },\n headerTableSelector: {\n '11.0.0': 'data-testid header-table-selector',\n },\n headerFilterSwitch: {\n '11.0.0': 'data-testid header-filter-switch',\n },\n headerGroupSwitch: {\n '11.0.0': 'data-testid header-group-switch',\n },\n headerOrderSwitch: {\n '11.0.0': 'data-testid header-order-switch',\n },\n headerPreviewSwitch: {\n '11.0.0': 'data-testid header-preview-switch',\n },\n },\n EntityNotFound: {\n container: {\n '11.2.0': 'data-testid entity-not-found',\n },\n },\n Portal: {\n container: {\n '11.5.0': 'data-testid portal-container',\n },\n },\n ExportImage: {\n formatOptions: {\n container: {\n ['12.1.0']: 'data-testid export-image-format-options',\n },\n png: {\n ['12.1.0']: 'data-testid export-image-format-png',\n },\n jpg: {\n ['12.1.0']: 'data-testid export-image-format-jpg',\n },\n },\n rendererAlert: {\n container: {\n ['12.1.0']: 'data-testid export-image-renderer-alert',\n },\n title: {\n ['12.1.0']: 'data-testid export-image-renderer-alert-title',\n },\n description: {\n ['12.1.0']: 'data-testid export-image-renderer-alert-description',\n },\n },\n buttons: {\n generate: {\n ['12.1.0']: 'data-testid export-image-generate-button',\n },\n download: {\n ['12.1.0']: 'data-testid export-image-download-button',\n },\n cancel: {\n ['12.1.0']: 'data-testid export-image-cancel-button',\n },\n },\n preview: {\n container: {\n ['12.1.0']: 'data-testid export-image-preview-container',\n },\n loading: {\n ['12.1.0']: 'data-testid export-image-preview-loading',\n },\n image: {\n ['12.1.0']: 'data-testid export-image-preview',\n },\n error: {\n container: {\n ['12.1.0']: 'data-testid export-image-error',\n },\n title: {\n ['12.1.0']: 'data-testid export-image-error-title',\n },\n message: {\n ['12.1.0']: 'data-testid export-image-error-message',\n },\n },\n },\n },\n} satisfies VersionedSelectorGroup;\n\nexport type VersionedComponents = typeof versionedComponents;\n"],"names":[],"mappings":"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