@grafana/plugin-ui 0.14.1-dsconfig.b962e11 → 0.14.1-dsconfig.ced809d
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.
- package/dist/cjs/index.cjs +1073 -317
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +135 -5
- package/dist/cjs/schemas.cjs +14853 -0
- package/dist/cjs/schemas.cjs.map +1 -0
- package/dist/cjs/schemas.d.cts +373 -0
- package/dist/cjs/test-utils.d.cts +23 -23
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +14 -9
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +27 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +16 -5
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js +9 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js +61 -11
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{useDatasourceConfigForm.js → hooks/useDatasourceConfigForm.js} +71 -29
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{AuthorizationHeaderField.js → inputs/AuthorizationHeaderField.js} +6 -8
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{ComplexFieldNote.js → inputs/ComplexFieldNote.js} +6 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{IndexedPairEditor.js → inputs/IndexedPairEditor.js} +52 -52
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +190 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{PdcFieldNote.js → inputs/PdcFieldNote.js} +5 -8
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{SecureFieldInput.js → inputs/SecureFieldInput.js} +8 -10
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +80 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js +76 -41
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +30 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/tabStyles.js +4 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/tabStyles.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.js +3 -3
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLink.js +2 -2
- package/dist/esm/components/DataLinks/DataLinks.js +2 -2
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +7 -7
- package/dist/esm/components/DatePicker/styles.js +2 -2
- package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
- package/dist/esm/components/QueryEditor/EditorField.js +2 -2
- package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
- package/dist/esm/components/QueryEditor/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
- package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
- package/dist/esm/components/QueryEditor/Space.js +2 -2
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +2 -2
- package/dist/esm/datasource/SqlDatasource.js +10 -10
- package/dist/esm/datasource/schema/cel.js +42 -0
- package/dist/esm/datasource/schema/cel.js.map +1 -0
- package/dist/esm/datasource/schema/config.js +37 -14
- package/dist/esm/datasource/schema/config.js.map +1 -1
- package/dist/esm/datasource/schema/datasource.js +129 -3
- package/dist/esm/datasource/schema/datasource.js.map +1 -1
- package/dist/esm/datasource/schema/datasources/alertmanager.schema.json.js +77 -0
- package/dist/esm/datasource/schema/datasources/alertmanager.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/cloudwatch.schema.json.js +384 -0
- package/dist/esm/datasource/schema/datasources/cloudwatch.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/elasticsearch.schema.json.js +287 -0
- package/dist/esm/datasource/schema/datasources/elasticsearch.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-amazonprometheus-datasource.schema.json.js +166 -0
- package/dist/esm/datasource/schema/datasources/grafana-amazonprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-appdynamics-datasource.schema.json.js +145 -0
- package/dist/esm/datasource/schema/datasources/grafana-appdynamics-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-astradb-datasource.schema.json.js +123 -0
- package/dist/esm/datasource/schema/datasources/grafana-astradb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-athena-datasource.schema.json.js +158 -0
- package/dist/esm/datasource/schema/datasources/grafana-athena-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-data-explorer-datasource.schema.json.js +204 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-data-explorer-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-monitor-datasource.schema.json.js +294 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-monitor-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azuredevops-datasource.schema.json.js +101 -0
- package/dist/esm/datasource/schema/datasources/grafana-azuredevops-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azureprometheus-datasource.schema.json.js +125 -0
- package/dist/esm/datasource/schema/datasources/grafana-azureprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-bigquery-datasource.schema.json.js +508 -0
- package/dist/esm/datasource/schema/datasources/grafana-bigquery-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-clickhouse-datasource.schema.json.js +1400 -0
- package/dist/esm/datasource/schema/datasources/grafana-clickhouse-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-cockroachdb-datasource.schema.json.js +302 -0
- package/dist/esm/datasource/schema/datasources/grafana-cockroachdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-databricks-datasource.schema.json.js +291 -0
- package/dist/esm/datasource/schema/datasources/grafana-databricks-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-datadog-datasource.schema.json.js +155 -0
- package/dist/esm/datasource/schema/datasources/grafana-datadog-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-dynatrace-datasource.schema.json.js +179 -0
- package/dist/esm/datasource/schema/datasources/grafana-dynatrace-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-falconlogscale-datasource.schema.json.js +134 -0
- package/dist/esm/datasource/schema/datasources/grafana-falconlogscale-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-github-datasource.schema.json.js +156 -0
- package/dist/esm/datasource/schema/datasources/grafana-github-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-gitlab-datasource.schema.json.js +84 -0
- package/dist/esm/datasource/schema/datasources/grafana-gitlab-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-googlesheets-datasource.schema.json.js +231 -0
- package/dist/esm/datasource/schema/datasources/grafana-googlesheets-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-honeycomb-datasource.schema.json.js +87 -0
- package/dist/esm/datasource/schema/datasources/grafana-honeycomb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-iot-sitewise-datasource.schema.json.js +159 -0
- package/dist/esm/datasource/schema/datasources/grafana-iot-sitewise-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-jira-datasource.schema.json.js +188 -0
- package/dist/esm/datasource/schema/datasources/grafana-jira-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-looker-datasource.schema.json.js +82 -0
- package/dist/esm/datasource/schema/datasources/grafana-looker-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-mongodb-datasource.schema.json.js +278 -0
- package/dist/esm/datasource/schema/datasources/grafana-mongodb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-mqtt-datasource.schema.json.js +168 -0
- package/dist/esm/datasource/schema/datasources/grafana-mqtt-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-newrelic-datasource.schema.json.js +129 -0
- package/dist/esm/datasource/schema/datasources/grafana-newrelic-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-odbc-datasource.schema.json.js +56 -0
- package/dist/esm/datasource/schema/datasources/grafana-odbc-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-opensearch-datasource.schema.json.js +212 -0
- package/dist/esm/datasource/schema/datasources/grafana-opensearch-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-oracle-datasource.schema.json.js +186 -0
- package/dist/esm/datasource/schema/datasources/grafana-oracle-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-pagerduty-datasource.schema.json.js +85 -0
- package/dist/esm/datasource/schema/datasources/grafana-pagerduty-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-postgresql-datasource.schema.json.js +411 -0
- package/dist/esm/datasource/schema/datasources/grafana-postgresql-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-pyroscope-datasource.schema.json.js +41 -0
- package/dist/esm/datasource/schema/datasources/grafana-pyroscope-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-redshift-datasource.schema.json.js +201 -0
- package/dist/esm/datasource/schema/datasources/grafana-redshift-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-salesforce-datasource.schema.json.js +201 -0
- package/dist/esm/datasource/schema/datasources/grafana-salesforce-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-saphana-datasource.schema.json.js +208 -0
- package/dist/esm/datasource/schema/datasources/grafana-saphana-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-sentry-datasource.schema.json.js +94 -0
- package/dist/esm/datasource/schema/datasources/grafana-sentry-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-servicenow-datasource.schema.json.js +179 -0
- package/dist/esm/datasource/schema/datasources/grafana-servicenow-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-snowflake-datasource.schema.json.js +304 -0
- package/dist/esm/datasource/schema/datasources/grafana-snowflake-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunk-datasource.schema.json.js +319 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunk-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunkobservability-datasource.schema.json.js +90 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunkobservability-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-strava-datasource.schema.json.js +74 -0
- package/dist/esm/datasource/schema/datasources/grafana-strava-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-sumologic-datasource.schema.json.js +102 -0
- package/dist/esm/datasource/schema/datasources/grafana-sumologic-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-surrealdb-datasource.schema.json.js +92 -0
- package/dist/esm/datasource/schema/datasources/grafana-surrealdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-timestream-datasource.schema.json.js +145 -0
- package/dist/esm/datasource/schema/datasources/grafana-timestream-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-wavefront-datasource.schema.json.js +80 -0
- package/dist/esm/datasource/schema/datasources/grafana-wavefront-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-x-ray-datasource.schema.json.js +112 -0
- package/dist/esm/datasource/schema/datasources/grafana-x-ray-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-yugabyte-datasource.schema.json.js +114 -0
- package/dist/esm/datasource/schema/datasources/grafana-yugabyte-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/graphite.schema.json.js +104 -0
- package/dist/esm/datasource/schema/datasources/graphite.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/influxdb.schema.json.js +717 -0
- package/dist/esm/datasource/schema/datasources/influxdb.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/jaeger.schema.json.js +59 -0
- package/dist/esm/datasource/schema/datasources/jaeger.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/loki.schema.json.js +545 -0
- package/dist/esm/datasource/schema/datasources/loki.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-csv-datasource.schema.json.js +45 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-csv-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-json-datasource.schema.json.js +36 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-json-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/mssql.schema.json.js +292 -0
- package/dist/esm/datasource/schema/datasources/mssql.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/mysql.schema.json.js +304 -0
- package/dist/esm/datasource/schema/datasources/mysql.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/opentsdb.schema.json.js +113 -0
- package/dist/esm/datasource/schema/datasources/opentsdb.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/prometheus.schema.json.js +783 -0
- package/dist/esm/datasource/schema/datasources/prometheus.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/stackdriver.schema.json.js +224 -0
- package/dist/esm/datasource/schema/datasources/stackdriver.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/tempo.schema.json.js +664 -0
- package/dist/esm/datasource/schema/datasources/tempo.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/yesoreyeram-infinity-datasource.schema.json.js +1073 -0
- package/dist/esm/datasource/schema/datasources/yesoreyeram-infinity-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/zipkin.schema.json.js +40 -0
- package/dist/esm/datasource/schema/datasources/zipkin.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/schemaRegistry.js +139 -0
- package/dist/esm/datasource/schema/schemaRegistry.js.map +1 -0
- package/dist/esm/index.d.ts +135 -5
- package/dist/esm/index.js +6 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schemas.d.ts +373 -0
- package/dist/esm/schemas.js +2 -0
- package/dist/esm/schemas.js.map +1 -0
- package/dist/esm/test-utils.d.ts +23 -23
- package/package.json +23 -6
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/AuthorizationHeaderField.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/ComplexFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/IndexedPairEditor.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/PdcFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SecureFieldInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/StringArrayInput.js +0 -84
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/StringArrayInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/useDatasourceConfigForm.js.map +0 -1
|
@@ -1,39 +1,25 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { SecureFieldInput } from './SecureFieldInput.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { RadioButtonGroup, Select, Switch, Input, TextArea } from '@grafana/ui';
|
|
3
|
+
import { SecureFieldInput } from './inputs/SecureFieldInput.js';
|
|
4
|
+
import { ComplexFieldNote } from './inputs/ComplexFieldNote.js';
|
|
5
|
+
import { FileUploadField } from './inputs/FileUploadField.js';
|
|
6
|
+
import { IndexedPairEditor } from './inputs/IndexedPairEditor.js';
|
|
7
|
+
import { ObjectArrayEditor } from './inputs/ObjectArrayEditor.js';
|
|
8
|
+
import { StringArrayInput } from './inputs/StringArrayInput.js';
|
|
7
9
|
|
|
8
|
-
function renderFieldInput(field, formField, disabled) {
|
|
9
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
10
|
+
function renderFieldInput(field, formField, disabled, errorMessage, setValue) {
|
|
11
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
10
12
|
const value = formField.value;
|
|
11
13
|
const placeholder = (_a = field.ui) == null ? void 0 : _a.placeholder;
|
|
12
14
|
const label = (_b = field.label) != null ? _b : field.key;
|
|
15
|
+
if (((_c = field.ui) == null ? void 0 : _c.component) === "fileUpload" && field.ui.fileMapping && setValue) {
|
|
16
|
+
return /* @__PURE__ */ React.createElement(FileUploadField, { field, formField, disabled, setValue });
|
|
17
|
+
}
|
|
13
18
|
if (field.target === "secureJsonData" || field.semanticType === "password" || field.semanticType === "token") {
|
|
14
19
|
return /* @__PURE__ */ React.createElement(SecureFieldInput, { formField, placeholder: placeholder != null ? placeholder : label, disabled, label });
|
|
15
20
|
}
|
|
16
|
-
if (field.
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
if (field.valueType === "number") {
|
|
20
|
-
return /* @__PURE__ */ React.createElement(
|
|
21
|
-
Input,
|
|
22
|
-
{
|
|
23
|
-
...formField,
|
|
24
|
-
value: value !== void 0 && value !== null ? Number(value) : "",
|
|
25
|
-
type: "number",
|
|
26
|
-
placeholder,
|
|
27
|
-
disabled,
|
|
28
|
-
onChange: (e) => {
|
|
29
|
-
const n = e.currentTarget.valueAsNumber;
|
|
30
|
-
formField.onChange(Number.isNaN(n) ? void 0 : n);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
if (((_c = field.ui) == null ? void 0 : _c.component) === "radio") {
|
|
36
|
-
const options = ((_e = (_d = field.ui) == null ? void 0 : _d.options) != null ? _e : []).map((opt) => ({
|
|
21
|
+
if (((_d = field.ui) == null ? void 0 : _d.component) === "radio") {
|
|
22
|
+
const options = ((_f = (_e = field.ui) == null ? void 0 : _e.options) != null ? _f : []).map((opt) => ({
|
|
37
23
|
label: opt.label,
|
|
38
24
|
value: String(opt.value),
|
|
39
25
|
description: opt.description
|
|
@@ -43,13 +29,20 @@ function renderFieldInput(field, formField, disabled) {
|
|
|
43
29
|
{
|
|
44
30
|
options,
|
|
45
31
|
value: String(value != null ? value : ""),
|
|
46
|
-
onChange: (v) =>
|
|
32
|
+
onChange: (v) => {
|
|
33
|
+
if (field.valueType === "number") {
|
|
34
|
+
const n = Number(v);
|
|
35
|
+
formField.onChange(Number.isNaN(n) ? v : n);
|
|
36
|
+
} else {
|
|
37
|
+
formField.onChange(v);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
47
40
|
disabled
|
|
48
41
|
}
|
|
49
42
|
));
|
|
50
43
|
}
|
|
51
|
-
if (((
|
|
52
|
-
const options = ((
|
|
44
|
+
if (((_g = field.ui) == null ? void 0 : _g.component) === "select") {
|
|
45
|
+
const options = ((_i = (_h = field.ui) == null ? void 0 : _h.options) != null ? _i : []).map((opt) => ({
|
|
53
46
|
label: opt.label,
|
|
54
47
|
value: String(opt.value),
|
|
55
48
|
description: opt.description
|
|
@@ -64,10 +57,29 @@ function renderFieldInput(field, formField, disabled) {
|
|
|
64
57
|
}
|
|
65
58
|
);
|
|
66
59
|
}
|
|
60
|
+
if (field.valueType === "boolean") {
|
|
61
|
+
return /* @__PURE__ */ React.createElement(Switch, { value: !!value, onChange: (e) => formField.onChange(e.currentTarget.checked), disabled });
|
|
62
|
+
}
|
|
63
|
+
if (field.valueType === "number") {
|
|
64
|
+
return /* @__PURE__ */ React.createElement(
|
|
65
|
+
Input,
|
|
66
|
+
{
|
|
67
|
+
...formField,
|
|
68
|
+
value: value !== void 0 && value !== null ? Number(value) : "",
|
|
69
|
+
type: "number",
|
|
70
|
+
placeholder,
|
|
71
|
+
disabled,
|
|
72
|
+
onChange: (e) => {
|
|
73
|
+
const n = e.currentTarget.valueAsNumber;
|
|
74
|
+
formField.onChange(Number.isNaN(n) ? void 0 : n);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
67
79
|
if (field.semanticType === "url") {
|
|
68
80
|
return /* @__PURE__ */ React.createElement(Input, { ...formField, value: String(value != null ? value : ""), type: "url", placeholder, disabled });
|
|
69
81
|
}
|
|
70
|
-
if (((
|
|
82
|
+
if (((_j = field.ui) == null ? void 0 : _j.component) === "textarea") {
|
|
71
83
|
return /* @__PURE__ */ React.createElement(
|
|
72
84
|
TextArea,
|
|
73
85
|
{
|
|
@@ -75,27 +87,50 @@ function renderFieldInput(field, formField, disabled) {
|
|
|
75
87
|
value: String(value != null ? value : ""),
|
|
76
88
|
placeholder,
|
|
77
89
|
disabled,
|
|
78
|
-
rows: (
|
|
90
|
+
rows: (_l = (_k = field.ui) == null ? void 0 : _k.rows) != null ? _l : 3
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
if (((_m = field.storage) == null ? void 0 : _m.type) === "indexedPair") {
|
|
95
|
+
const items = Array.isArray(value) ? value : [];
|
|
96
|
+
const maxItems = (_p = (_o = (_n = field.validations) == null ? void 0 : _n.find((v) => v.type === "itemCount")) == null ? void 0 : _o.max) != null ? _p : 10;
|
|
97
|
+
const itemLabel = (_r = (_q = field.label) == null ? void 0 : _q.toLowerCase().replace(/s$/, "")) != null ? _r : "header";
|
|
98
|
+
return /* @__PURE__ */ React.createElement(
|
|
99
|
+
IndexedPairEditor,
|
|
100
|
+
{
|
|
101
|
+
value: items,
|
|
102
|
+
onChange: formField.onChange,
|
|
103
|
+
maxItems,
|
|
104
|
+
disabled,
|
|
105
|
+
itemLabel
|
|
79
106
|
}
|
|
80
107
|
);
|
|
81
108
|
}
|
|
82
|
-
if (field.valueType === "array" && ((
|
|
109
|
+
if (field.valueType === "array" && ((_s = field.item) == null ? void 0 : _s.valueType) === "string") {
|
|
83
110
|
return /* @__PURE__ */ React.createElement(
|
|
84
111
|
StringArrayInput,
|
|
85
112
|
{
|
|
86
113
|
value: Array.isArray(value) ? value : [],
|
|
87
114
|
onChange: formField.onChange,
|
|
88
|
-
placeholder
|
|
89
|
-
disabled
|
|
115
|
+
placeholder,
|
|
116
|
+
disabled,
|
|
117
|
+
itemLabel: label.toLowerCase().replace(/s$/, "")
|
|
90
118
|
}
|
|
91
119
|
);
|
|
92
120
|
}
|
|
93
|
-
if (((
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
121
|
+
if (field.valueType === "array" && ((_t = field.item) == null ? void 0 : _t.valueType) === "object" && ((_u = field.item.fields) == null ? void 0 : _u.length)) {
|
|
122
|
+
return /* @__PURE__ */ React.createElement(
|
|
123
|
+
ObjectArrayEditor,
|
|
124
|
+
{
|
|
125
|
+
field,
|
|
126
|
+
value,
|
|
127
|
+
onChange: formField.onChange,
|
|
128
|
+
disabled,
|
|
129
|
+
errorMessage
|
|
130
|
+
}
|
|
131
|
+
);
|
|
97
132
|
}
|
|
98
|
-
if (field.valueType === "object" || field.valueType === "map" || field.valueType === "array" && (((
|
|
133
|
+
if (field.valueType === "object" || field.valueType === "map" || field.valueType === "array" && (((_v = field.item) == null ? void 0 : _v.valueType) === "object" || ((_w = field.item) == null ? void 0 : _w.valueType) === "map")) {
|
|
99
134
|
const count = Array.isArray(value) ? value.length : 0;
|
|
100
135
|
return /* @__PURE__ */ React.createElement(ComplexFieldNote, { count, label });
|
|
101
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderFieldInput.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Input, Select, RadioButtonGroup, Switch, TextArea } from '@grafana/ui';\nimport type { ConfigField } from '../../../datasource/schema/schema';\nimport type { IndexedPairItem } from '../../../datasource/schema/datasource';\nimport { SecureFieldInput, type FormFieldRef } from './SecureFieldInput';\nimport { StringArrayInput } from './StringArrayInput';\nimport { IndexedPairEditor } from './IndexedPairEditor';\nimport { ComplexFieldNote } from './ComplexFieldNote';\n\nexport function renderFieldInput(field: ConfigField, formField: FormFieldRef, disabled?: boolean) {\n const value = formField.value;\n const placeholder = field.ui?.placeholder;\n const label = field.label ?? field.key;\n\n // Secure fields (password/token in secureJsonData)\n if (field.target === 'secureJsonData' || field.semanticType === 'password' || field.semanticType === 'token') {\n return (\n <SecureFieldInput formField={formField} placeholder={placeholder ?? label} disabled={disabled} label={label} />\n );\n }\n\n // Boolean fields\n if (field.valueType === 'boolean') {\n return <Switch value={!!value} onChange={(e) => formField.onChange(e.currentTarget.checked)} disabled={disabled} />;\n }\n\n // Number fields\n if (field.valueType === 'number') {\n return (\n <Input\n {...formField}\n value={value !== undefined && value !== null ? Number(value) : ''}\n type=\"number\"\n placeholder={placeholder}\n disabled={disabled}\n onChange={(e) => {\n const n = e.currentTarget.valueAsNumber;\n formField.onChange(Number.isNaN(n) ? undefined : n);\n }}\n />\n );\n }\n\n // Radio button group\n if (field.ui?.component === 'radio') {\n const options = (field.ui?.options ?? []).map((opt) => ({\n label: opt.label,\n value: String(opt.value),\n description: opt.description,\n }));\n return (\n <div style={{ display: 'flex' }}>\n <RadioButtonGroup\n options={options}\n value={String(value ?? '')}\n onChange={(v) => formField.onChange(v)}\n disabled={disabled}\n />\n </div>\n );\n }\n\n // Select / dropdown fields\n if (field.ui?.component === 'select') {\n const options = (field.ui?.options ?? []).map((opt) => ({\n label: opt.label,\n value: String(opt.value),\n description: opt.description,\n }));\n return (\n <Select\n options={options}\n value={options.find((o) => o.value === String(value ?? ''))}\n onChange={(v) => formField.onChange(v?.value)}\n disabled={disabled}\n />\n );\n }\n\n // URL fields\n if (field.semanticType === 'url') {\n return (\n <Input {...formField} value={String(value ?? '')} type=\"url\" placeholder={placeholder} disabled={disabled} />\n );\n }\n\n // Textarea\n if (field.ui?.component === 'textarea') {\n return (\n <TextArea\n {...formField}\n value={String(value ?? '')}\n placeholder={placeholder}\n disabled={disabled}\n rows={field.ui?.rows ?? 3}\n />\n );\n }\n\n // Array of strings — tag/chip input\n if (field.valueType === 'array' && field.item?.valueType === 'string') {\n return (\n <StringArrayInput\n value={Array.isArray(value) ? (value as string[]) : []}\n onChange={formField.onChange}\n placeholder={placeholder ?? `Add ${label.toLowerCase()}…`}\n disabled={disabled}\n />\n );\n }\n\n // Indexed pair fields (e.g. custom HTTP headers) — editable key-value list\n if (field.storage?.type === 'indexedPair') {\n const items = Array.isArray(value) ? (value as IndexedPairItem[]) : [];\n const maxItems =\n field.validations?.find((v): v is { type: 'itemCount'; max?: number } => v.type === 'itemCount')?.max ?? 10;\n return <IndexedPairEditor value={items} onChange={formField.onChange} maxItems={maxItems} disabled={disabled} />;\n }\n\n // Complex fields (array of objects/maps, object, map) — not editable in the wizard\n if (\n field.valueType === 'object' ||\n field.valueType === 'map' ||\n (field.valueType === 'array' && (field.item?.valueType === 'object' || field.item?.valueType === 'map'))\n ) {\n const count = Array.isArray(value) ? value.length : 0;\n return <ComplexFieldNote count={count} label={label} />;\n }\n\n // Default: text input\n return <Input {...formField} value={String(value ?? '')} placeholder={placeholder} disabled={disabled} />;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderFieldInput.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Input, Select, RadioButtonGroup, Switch, TextArea } from '@grafana/ui';\nimport { SecureFieldInput, type FormFieldRef } from './inputs/SecureFieldInput';\nimport { StringArrayInput, IndexedPairEditor, FileUploadField, ObjectArrayEditor, ComplexFieldNote } from './inputs';\nimport type { ConfigField } from '../../../datasource/schema/schema';\nimport type { IndexedPairItem } from '../../../datasource/schema/datasource';\n\nexport function renderFieldInput(\n field: ConfigField,\n formField: FormFieldRef,\n disabled?: boolean,\n errorMessage?: string,\n setValue?: (name: string, value: unknown) => void\n) {\n const value = formField.value;\n const placeholder = field.ui?.placeholder;\n const label = field.label ?? field.key;\n\n // File upload with JSON parsing and cross-field distribution\n if (field.ui?.component === 'fileUpload' && field.ui.fileMapping && setValue) {\n return <FileUploadField field={field} formField={formField} disabled={disabled} setValue={setValue} />;\n }\n\n // Secure fields (password/token in secureJsonData)\n if (field.target === 'secureJsonData' || field.semanticType === 'password' || field.semanticType === 'token') {\n return (\n <SecureFieldInput formField={formField} placeholder={placeholder ?? label} disabled={disabled} label={label} />\n );\n }\n\n // Radio button group — checked before type-specific branches so a field\n // with e.g. valueType:\"number\" + ui.component:\"radio\" renders as radio.\n if (field.ui?.component === 'radio') {\n const options = (field.ui?.options ?? []).map((opt) => ({\n label: opt.label,\n value: String(opt.value),\n description: opt.description,\n }));\n return (\n <div style={{ display: 'flex' }}>\n <RadioButtonGroup\n options={options}\n value={String(value ?? '')}\n onChange={(v) => {\n // Preserve the field's native type when the radio value is selected.\n if (field.valueType === 'number') {\n const n = Number(v);\n formField.onChange(Number.isNaN(n) ? v : n);\n } else {\n formField.onChange(v);\n }\n }}\n disabled={disabled}\n />\n </div>\n );\n }\n\n // Select / dropdown fields\n if (field.ui?.component === 'select') {\n const options = (field.ui?.options ?? []).map((opt) => ({\n label: opt.label,\n value: String(opt.value),\n description: opt.description,\n }));\n return (\n <Select\n options={options}\n value={options.find((o) => o.value === String(value ?? ''))}\n onChange={(v) => formField.onChange(v?.value)}\n disabled={disabled}\n />\n );\n }\n\n // Boolean fields\n if (field.valueType === 'boolean') {\n return <Switch value={!!value} onChange={(e) => formField.onChange(e.currentTarget.checked)} disabled={disabled} />;\n }\n\n // Number fields\n if (field.valueType === 'number') {\n return (\n <Input\n {...formField}\n value={value !== undefined && value !== null ? Number(value) : ''}\n type=\"number\"\n placeholder={placeholder}\n disabled={disabled}\n onChange={(e) => {\n const n = e.currentTarget.valueAsNumber;\n formField.onChange(Number.isNaN(n) ? undefined : n);\n }}\n />\n );\n }\n\n // URL fields\n if (field.semanticType === 'url') {\n return (\n <Input {...formField} value={String(value ?? '')} type=\"url\" placeholder={placeholder} disabled={disabled} />\n );\n }\n\n // Textarea\n if (field.ui?.component === 'textarea') {\n return (\n <TextArea\n {...formField}\n value={String(value ?? '')}\n placeholder={placeholder}\n disabled={disabled}\n rows={field.ui?.rows ?? 3}\n />\n );\n }\n\n // Indexed pair fields (e.g. custom HTTP headers, endpoint params) — editable key-value list.\n // Checked before the generic string-array branch because indexedPair fields\n // also declare valueType:\"array\" + item.valueType:\"string\".\n if (field.storage?.type === 'indexedPair') {\n const items = Array.isArray(value) ? (value as IndexedPairItem[]) : [];\n const maxItems =\n field.validations?.find((v): v is { type: 'itemCount'; max?: number } => v.type === 'itemCount')?.max ?? 10;\n const itemLabel = field.label?.toLowerCase().replace(/s$/, '') ?? 'header';\n return (\n <IndexedPairEditor\n value={items}\n onChange={formField.onChange}\n maxItems={maxItems}\n disabled={disabled}\n itemLabel={itemLabel}\n />\n );\n }\n\n // Array of strings — row-based list editor\n if (field.valueType === 'array' && field.item?.valueType === 'string') {\n return (\n <StringArrayInput\n value={Array.isArray(value) ? (value as string[]) : []}\n onChange={formField.onChange}\n placeholder={placeholder}\n disabled={disabled}\n itemLabel={label.toLowerCase().replace(/s$/, '')}\n />\n );\n }\n\n // Array of objects with defined item fields — inline editor\n if (field.valueType === 'array' && field.item?.valueType === 'object' && field.item.fields?.length) {\n return (\n <ObjectArrayEditor\n field={field}\n value={value}\n onChange={formField.onChange}\n disabled={disabled}\n errorMessage={errorMessage}\n />\n );\n }\n\n // Complex fields (unconstrained object arrays, maps, plain objects) — not editable in the wizard\n if (\n field.valueType === 'object' ||\n field.valueType === 'map' ||\n (field.valueType === 'array' && (field.item?.valueType === 'object' || field.item?.valueType === 'map'))\n ) {\n const count = Array.isArray(value) ? value.length : 0;\n return <ComplexFieldNote count={count} label={label} />;\n }\n\n // Default: text input\n return <Input {...formField} value={String(value ?? '')} placeholder={placeholder} disabled={disabled} />;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getDataSourceSrv } from '@grafana/runtime';
|
|
2
|
+
|
|
3
|
+
let pluginNameCache = null;
|
|
4
|
+
function buildPluginNameCache() {
|
|
5
|
+
var _a;
|
|
6
|
+
if (pluginNameCache) {
|
|
7
|
+
return pluginNameCache;
|
|
8
|
+
}
|
|
9
|
+
const map = /* @__PURE__ */ new Map();
|
|
10
|
+
try {
|
|
11
|
+
const list = getDataSourceSrv().getList();
|
|
12
|
+
for (const ds of list) {
|
|
13
|
+
if (((_a = ds.meta) == null ? void 0 : _a.name) && ds.type && !map.has(ds.type)) {
|
|
14
|
+
map.set(ds.type, ds.meta.name);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
} catch (ex) {
|
|
18
|
+
console.error(ex);
|
|
19
|
+
}
|
|
20
|
+
pluginNameCache = map;
|
|
21
|
+
return map;
|
|
22
|
+
}
|
|
23
|
+
function resolvePluginName(pluginType) {
|
|
24
|
+
var _a;
|
|
25
|
+
const cache = buildPluginNameCache();
|
|
26
|
+
return (_a = cache.get(pluginType)) != null ? _a : pluginType;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { resolvePluginName };
|
|
30
|
+
//# sourceMappingURL=resolvePluginName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvePluginName.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.ts"],"sourcesContent":["import { getDataSourceSrv } from '@grafana/runtime';\n\nlet pluginNameCache: Map<string, string> | null = null;\n\nfunction buildPluginNameCache(): Map<string, string> {\n if (pluginNameCache) {\n return pluginNameCache;\n }\n const map = new Map<string, string>();\n try {\n const list = getDataSourceSrv().getList();\n for (const ds of list) {\n if (ds.meta?.name && ds.type && !map.has(ds.type)) {\n map.set(ds.type, ds.meta.name);\n }\n }\n } catch (ex) {\n console.error(ex);\n }\n pluginNameCache = map;\n return map;\n}\n\nexport function resolvePluginName(pluginType: string): string {\n const cache = buildPluginNameCache();\n return cache.get(pluginType) ?? pluginType;\n}\n"],"names":[],"mappings":";;AAEA,IAAI,eAAA,GAA8C,IAAA;AAElD,SAAS,oBAAA,GAA4C;AAJrD,EAAA,IAAA,EAAA;AAKE,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,OAAO,eAAA;AAAA,EACT;AACA,EAAA,MAAM,GAAA,uBAAU,GAAA,EAAoB;AACpC,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,gBAAA,EAAiB,CAAE,OAAA,EAAQ;AACxC,IAAA,KAAA,MAAW,MAAM,IAAA,EAAM;AACrB,MAAA,IAAA,CAAA,CAAI,EAAA,GAAA,EAAA,CAAG,IAAA,KAAH,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAS,IAAA,KAAQ,EAAA,CAAG,IAAA,IAAQ,CAAC,GAAA,CAAI,GAAA,CAAI,EAAA,CAAG,IAAI,CAAA,EAAG;AACjD,QAAA,GAAA,CAAI,GAAA,CAAI,EAAA,CAAG,IAAA,EAAM,EAAA,CAAG,KAAK,IAAI,CAAA;AAAA,MAC/B;AAAA,IACF;AAAA,EACF,SAAS,EAAA,EAAI;AACX,IAAA,OAAA,CAAQ,MAAM,EAAE,CAAA;AAAA,EAClB;AACA,EAAA,eAAA,GAAkB,GAAA;AAClB,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,kBAAkB,UAAA,EAA4B;AAvB9D,EAAA,IAAA,EAAA;AAwBE,EAAA,MAAM,QAAQ,oBAAA,EAAqB;AACnC,EAAA,OAAA,CAAO,EAAA,GAAA,KAAA,CAAM,GAAA,CAAI,UAAU,CAAA,KAApB,IAAA,GAAA,EAAA,GAAyB,UAAA;AAClC;;;;"}
|
|
@@ -48,7 +48,7 @@ const getTabStyles = (theme) => ({
|
|
|
48
48
|
width: 12,
|
|
49
49
|
flexShrink: 0,
|
|
50
50
|
alignSelf: "flex-start",
|
|
51
|
-
paddingTop:
|
|
51
|
+
paddingTop: theme.spacing(0.5)
|
|
52
52
|
}),
|
|
53
53
|
navDot: css({
|
|
54
54
|
width: 10,
|
|
@@ -94,7 +94,7 @@ const getTabStyles = (theme) => ({
|
|
|
94
94
|
}),
|
|
95
95
|
navLabel: css({
|
|
96
96
|
fontSize: theme.typography.body.fontSize,
|
|
97
|
-
color:
|
|
97
|
+
color: theme.colors.text.secondary,
|
|
98
98
|
lineHeight: 1.4
|
|
99
99
|
}),
|
|
100
100
|
navLabelActive: css({
|
|
@@ -176,8 +176,8 @@ const getTabStyles = (theme) => ({
|
|
|
176
176
|
textAlign: "left"
|
|
177
177
|
}),
|
|
178
178
|
sectionBadge: css({
|
|
179
|
-
fontSize:
|
|
180
|
-
fontWeight:
|
|
179
|
+
fontSize: theme.typography.bodySmall.fontSize,
|
|
180
|
+
fontWeight: theme.typography.fontWeightRegular,
|
|
181
181
|
color: theme.colors.text.disabled,
|
|
182
182
|
border: `1px solid ${theme.colors.border.weak}`,
|
|
183
183
|
borderRadius: theme.shape.radius.pill,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabStyles.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/tabStyles.ts"],"sourcesContent":["import { css } from '@emotion/css';\nimport type { GrafanaTheme2 } from '@grafana/data';\n\nexport const getTabStyles = (theme: GrafanaTheme2) => ({\n root: css({\n display: 'flex',\n gap: theme.spacing(3),\n position: 'relative',\n background: theme.colors.background.canvas,\n padding: theme.spacing(2),\n }),\n\n // Sidebar\n sidebar: css({\n width: 250,\n flexShrink: 0,\n position: 'sticky',\n top: theme.spacing(2),\n alignSelf: 'flex-start',\n [theme.breakpoints.down('sm')]: { display: 'none' },\n }),\n sidebarTitle: css({\n fontSize: theme.typography.body.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.colors.text.primary,\n padding: `${theme.spacing(1)} 0`,\n marginBottom: theme.spacing(1),\n }),\n navList: css({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n navItem: css({\n display: 'flex',\n alignItems: 'flex-start',\n gap: theme.spacing(1.5),\n padding: `${theme.spacing(1)} 0`,\n cursor: 'pointer',\n position: 'relative',\n }),\n navItemActive: css({}),\n // Dot container: positions the dot and the connector line\n navDotWrap: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 12,\n flexShrink: 0,\n alignSelf: 'flex-start',\n paddingTop: 4,\n }),\n navDot: css({\n width: 10,\n height: 10,\n borderRadius: '50%',\n border: `2px solid ${theme.colors.text.disabled}`,\n background: theme.colors.background.canvas,\n position: 'relative',\n zIndex: 1,\n }),\n navDotOptional: css({\n borderStyle: 'dashed',\n }),\n navDotActive: css({\n background: theme.colors.primary.main,\n borderColor: theme.colors.primary.main,\n borderStyle: 'solid',\n }),\n navDotValidated: css({\n background: theme.colors.success.main,\n borderColor: theme.colors.success.main,\n borderStyle: 'solid',\n }),\n navDotError: css({\n background: theme.colors.error.main,\n borderColor: theme.colors.error.main,\n borderStyle: 'solid',\n }),\n // Connector line running from dot center downward to next item\n navConnector: css({\n position: 'absolute',\n left: 5,\n top: 16,\n bottom: -16,\n width: 2,\n background: theme.colors.border.medium,\n zIndex: 0,\n }),\n navConnectorDashed: css({\n background: 'none',\n borderLeft: `2px dashed ${theme.colors.border.weak}`,\n width: 0,\n }),\n navLabel: css({\n fontSize: theme.typography.body.fontSize,\n color: 'rgba(204, 204, 220, 0.65)',\n lineHeight: 1.4,\n }),\n navLabelActive: css({\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.colors.text.primary,\n }),\n\n // Main content\n main: css({\n flex: 1,\n minWidth: 0,\n width: 0, // forces flex child to respect flex-grow and fill remaining space\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n }),\n form: css({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n }),\n requiredNotice: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n marginBottom: theme.spacing(0.5),\n }),\n\n // Section wrapper — card container around CollapsableSection\n section: css({\n border: `1px solid ${theme.colors.border.weak}`,\n borderRadius: theme.shape.radius.default,\n background: theme.colors.background.secondary,\n overflow: 'hidden',\n }),\n // Override Collapse component styling\n collapseHeader: css({\n borderRadius: theme.shape.radius.default,\n background: 'none',\n border: 'none',\n marginBottom: 0,\n // Collapse header button: make label fill remaining space\n '& > button': {\n padding: `${theme.spacing(1.5)} ${theme.spacing(2)}`,\n width: '100%',\n justifyContent: 'flex-start',\n },\n '& > button > div': {\n flex: 1,\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n textAlign: 'left',\n },\n }),\n sectionLabel: css({\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n }),\n sectionLabelText: css({\n flex: 1,\n }),\n sectionHeader: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: `${theme.spacing(1.5)} ${theme.spacing(2)}`,\n cursor: 'pointer',\n userSelect: 'none',\n }),\n sectionChevron: css({\n transition: 'transform 0.2s ease',\n }),\n sectionChevronOpen: css({\n transform: 'rotate(90deg)',\n }),\n sectionTitle: css({\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n flex: 1,\n textAlign: 'left',\n }),\n sectionBadge: css({\n fontSize: '11px',\n fontWeight: 'normal',\n color: theme.colors.text.disabled,\n border: `1px solid ${theme.colors.border.weak}`,\n borderRadius: theme.shape.radius.pill,\n padding: `1px ${theme.spacing(0.75)}`,\n whiteSpace: 'nowrap',\n }),\n sectionDescription: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n marginBottom: theme.spacing(1.5),\n }),\n sectionBody: css({\n padding: `0 ${theme.spacing(2)} ${theme.spacing(2)}`,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(0.75),\n }),\n\n // Form bottom\n formButtons: css({\n display: 'flex',\n gap: theme.spacing(1),\n paddingTop: theme.spacing(0.5),\n }),\n\n // Loading / error states\n loadingContainer: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(3),\n color: theme.colors.text.secondary,\n }),\n overlay: css({\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n background: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n zIndex: 1,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.primary,\n opacity: 0.95,\n }),\n readOnlyBanner: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n padding: `${theme.spacing(0.25)} ${theme.spacing(0.75)}`,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n marginBottom: theme.spacing(1),\n }),\n});\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabStyles.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/tabStyles.ts"],"sourcesContent":["import { css } from '@emotion/css';\nimport type { GrafanaTheme2 } from '@grafana/data';\n\nexport const getTabStyles = (theme: GrafanaTheme2) => ({\n root: css({\n display: 'flex',\n gap: theme.spacing(3),\n position: 'relative',\n background: theme.colors.background.canvas,\n padding: theme.spacing(2),\n }),\n\n // Sidebar\n sidebar: css({\n width: 250,\n flexShrink: 0,\n position: 'sticky',\n top: theme.spacing(2),\n alignSelf: 'flex-start',\n [theme.breakpoints.down('sm')]: { display: 'none' },\n }),\n sidebarTitle: css({\n fontSize: theme.typography.body.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.colors.text.primary,\n padding: `${theme.spacing(1)} 0`,\n marginBottom: theme.spacing(1),\n }),\n navList: css({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n navItem: css({\n display: 'flex',\n alignItems: 'flex-start',\n gap: theme.spacing(1.5),\n padding: `${theme.spacing(1)} 0`,\n cursor: 'pointer',\n position: 'relative',\n }),\n navItemActive: css({}),\n // Dot container: positions the dot and the connector line\n navDotWrap: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 12,\n flexShrink: 0,\n alignSelf: 'flex-start',\n paddingTop: theme.spacing(0.5),\n }),\n navDot: css({\n width: 10,\n height: 10,\n borderRadius: '50%',\n border: `2px solid ${theme.colors.text.disabled}`,\n background: theme.colors.background.canvas,\n position: 'relative',\n zIndex: 1,\n }),\n navDotOptional: css({\n borderStyle: 'dashed',\n }),\n navDotActive: css({\n background: theme.colors.primary.main,\n borderColor: theme.colors.primary.main,\n borderStyle: 'solid',\n }),\n navDotValidated: css({\n background: theme.colors.success.main,\n borderColor: theme.colors.success.main,\n borderStyle: 'solid',\n }),\n navDotError: css({\n background: theme.colors.error.main,\n borderColor: theme.colors.error.main,\n borderStyle: 'solid',\n }),\n // Connector line running from dot center downward to next item\n navConnector: css({\n position: 'absolute',\n left: 5,\n top: 16,\n bottom: -16,\n width: 2,\n background: theme.colors.border.medium,\n zIndex: 0,\n }),\n navConnectorDashed: css({\n background: 'none',\n borderLeft: `2px dashed ${theme.colors.border.weak}`,\n width: 0,\n }),\n navLabel: css({\n fontSize: theme.typography.body.fontSize,\n color: theme.colors.text.secondary,\n lineHeight: 1.4,\n }),\n navLabelActive: css({\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.colors.text.primary,\n }),\n\n // Main content\n main: css({\n flex: 1,\n minWidth: 0,\n width: 0, // forces flex child to respect flex-grow and fill remaining space\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n }),\n form: css({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(2),\n }),\n requiredNotice: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n marginBottom: theme.spacing(0.5),\n }),\n\n // Section wrapper — card container around CollapsableSection\n section: css({\n border: `1px solid ${theme.colors.border.weak}`,\n borderRadius: theme.shape.radius.default,\n background: theme.colors.background.secondary,\n overflow: 'hidden',\n }),\n // Override Collapse component styling\n collapseHeader: css({\n borderRadius: theme.shape.radius.default,\n background: 'none',\n border: 'none',\n marginBottom: 0,\n // Collapse header button: make label fill remaining space\n '& > button': {\n padding: `${theme.spacing(1.5)} ${theme.spacing(2)}`,\n width: '100%',\n justifyContent: 'flex-start',\n },\n '& > button > div': {\n flex: 1,\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n textAlign: 'left',\n },\n }),\n sectionLabel: css({\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n }),\n sectionLabelText: css({\n flex: 1,\n }),\n sectionHeader: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: `${theme.spacing(1.5)} ${theme.spacing(2)}`,\n cursor: 'pointer',\n userSelect: 'none',\n }),\n sectionChevron: css({\n transition: 'transform 0.2s ease',\n }),\n sectionChevronOpen: css({\n transform: 'rotate(90deg)',\n }),\n sectionTitle: css({\n fontSize: theme.typography.h4.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n flex: 1,\n textAlign: 'left',\n }),\n sectionBadge: css({\n fontSize: theme.typography.bodySmall.fontSize,\n fontWeight: theme.typography.fontWeightRegular,\n color: theme.colors.text.disabled,\n border: `1px solid ${theme.colors.border.weak}`,\n borderRadius: theme.shape.radius.pill,\n padding: `1px ${theme.spacing(0.75)}`,\n whiteSpace: 'nowrap',\n }),\n sectionDescription: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n marginBottom: theme.spacing(1.5),\n }),\n sectionBody: css({\n padding: `0 ${theme.spacing(2)} ${theme.spacing(2)}`,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(0.75),\n }),\n\n // Form bottom\n formButtons: css({\n display: 'flex',\n gap: theme.spacing(1),\n paddingTop: theme.spacing(0.5),\n }),\n\n // Loading / error states\n loadingContainer: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(3),\n color: theme.colors.text.secondary,\n }),\n overlay: css({\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n background: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n zIndex: 1,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.primary,\n opacity: 0.95,\n }),\n readOnlyBanner: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n padding: `${theme.spacing(0.25)} ${theme.spacing(0.75)}`,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n marginBottom: theme.spacing(1),\n }),\n});\n"],"names":[],"mappings":";;AAGO,MAAM,YAAA,GAAe,CAAC,KAAA,MAA0B;AAAA,EACrD,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,QAAA,EAAU,UAAA;AAAA,IACV,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,MAAA;AAAA,IACpC,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GACzB,CAAA;AAAA;AAAA,EAGD,SAAS,GAAA,CAAI;AAAA,IACX,KAAA,EAAO,GAAA;AAAA,IACP,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU,QAAA;AAAA,IACV,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,SAAA,EAAW,YAAA;AAAA,IACX,CAAC,MAAM,WAAA,CAAY,IAAA,CAAK,IAAI,CAAC,GAAG,EAAE,OAAA,EAAS,MAAA;AAAO,GACnD,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,QAAA;AAAA,IAChC,UAAA,EAAY,MAAM,UAAA,CAAW,gBAAA;AAAA,IAC7B,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,IACzB,OAAA,EAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAA,CAAA;AAAA,IAC5B,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GAC9B,CAAA;AAAA,EACD,SAAS,GAAA,CAAI;AAAA,IACX,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,CAAA;AAAA,IACR,OAAA,EAAS,CAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AAAA,EACD,SAAS,GAAA,CAAI;AAAA,IACX,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,IACtB,OAAA,EAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAA,CAAA;AAAA,IAC5B,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU;AAAA,GACX,CAAA;AAAA,EACD,aAAA,EAAe,GAAA,CAAI,EAAE,CAAA;AAAA;AAAA,EAErB,YAAY,GAAA,CAAI;AAAA,IACd,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,KAAA,EAAO,EAAA;AAAA,IACP,UAAA,EAAY,CAAA;AAAA,IACZ,SAAA,EAAW,YAAA;AAAA,IACX,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,GAC9B,CAAA;AAAA,EACD,QAAQ,GAAA,CAAI;AAAA,IACV,KAAA,EAAO,EAAA;AAAA,IACP,MAAA,EAAQ,EAAA;AAAA,IACR,YAAA,EAAc,KAAA;AAAA,IACd,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,KAAK,QAAQ,CAAA,CAAA;AAAA,IAC/C,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,MAAA;AAAA,IACpC,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACT,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,WAAA,EAAa;AAAA,GACd,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,IAAA;AAAA,IACjC,WAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,IAAA;AAAA,IAClC,WAAA,EAAa;AAAA,GACd,CAAA;AAAA,EACD,iBAAiB,GAAA,CAAI;AAAA,IACnB,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,IAAA;AAAA,IACjC,WAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,IAAA;AAAA,IAClC,WAAA,EAAa;AAAA,GACd,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,IAAA;AAAA,IAC/B,WAAA,EAAa,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,IAAA;AAAA,IAChC,WAAA,EAAa;AAAA,GACd,CAAA;AAAA;AAAA,EAED,cAAc,GAAA,CAAI;AAAA,IAChB,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,CAAA;AAAA,IACN,GAAA,EAAK,EAAA;AAAA,IACL,MAAA,EAAQ,GAAA;AAAA,IACR,KAAA,EAAO,CAAA;AAAA,IACP,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,MAAA;AAAA,IAChC,MAAA,EAAQ;AAAA,GACT,CAAA;AAAA,EACD,oBAAoB,GAAA,CAAI;AAAA,IACtB,UAAA,EAAY,MAAA;AAAA,IACZ,UAAA,EAAY,CAAA,WAAA,EAAc,KAAA,CAAM,MAAA,CAAO,OAAO,IAAI,CAAA,CAAA;AAAA,IAClD,KAAA,EAAO;AAAA,GACR,CAAA;AAAA,EACD,UAAU,GAAA,CAAI;AAAA,IACZ,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,QAAA;AAAA,IAChC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,IACzB,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,UAAA,EAAY,MAAM,UAAA,CAAW,gBAAA;AAAA,IAC7B,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,GAC1B,CAAA;AAAA;AAAA,EAGD,MAAM,GAAA,CAAI;AAAA,IACR,IAAA,EAAM,CAAA;AAAA,IACN,QAAA,EAAU,CAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GACrB,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GACrB,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,IACzB,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,GAChC,CAAA;AAAA;AAAA,EAGD,SAAS,GAAA,CAAI;AAAA,IACX,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAO,IAAI,CAAA,CAAA;AAAA,IAC7C,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,OAAA;AAAA,IACjC,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,SAAA;AAAA,IACpC,QAAA,EAAU;AAAA,GACX,CAAA;AAAA;AAAA,EAED,gBAAgB,GAAA,CAAI;AAAA,IAClB,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,OAAA;AAAA,IACjC,UAAA,EAAY,MAAA;AAAA,IACZ,MAAA,EAAQ,MAAA;AAAA,IACR,YAAA,EAAc,CAAA;AAAA;AAAA,IAEd,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,MAClD,KAAA,EAAO,MAAA;AAAA,MACP,cAAA,EAAgB;AAAA,KAClB;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAM,CAAA;AAAA,MACN,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,EAAA,CAAG,QAAA;AAAA,MAC9B,UAAA,EAAY,MAAM,UAAA,CAAW,gBAAA;AAAA,MAC7B,SAAA,EAAW;AAAA;AACb,GACD,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,kBAAkB,GAAA,CAAI;AAAA,IACpB,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,eAAe,GAAA,CAAI;AAAA,IACjB,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,OAAA,EAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,IAClD,MAAA,EAAQ,SAAA;AAAA,IACR,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,oBAAoB,GAAA,CAAI;AAAA,IACtB,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,EAAA,CAAG,QAAA;AAAA,IAC9B,UAAA,EAAY,MAAM,UAAA,CAAW,gBAAA;AAAA,IAC7B,IAAA,EAAM,CAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,UAAA,EAAY,MAAM,UAAA,CAAW,iBAAA;AAAA,IAC7B,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,QAAA;AAAA,IACzB,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAO,IAAI,CAAA,CAAA;AAAA,IAC7C,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,IAAA;AAAA,IACjC,OAAA,EAAS,CAAA,IAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,IACnC,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,oBAAoB,GAAA,CAAI;AAAA,IACtB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,IACzB,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,GAChC,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,OAAA,EAAS,CAAA,EAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,IAClD,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,IAAI;AAAA,GACxB,CAAA;AAAA;AAAA,EAGD,aAAa,GAAA,CAAI;AAAA,IACf,OAAA,EAAS,MAAA;AAAA,IACT,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,GAC9B,CAAA;AAAA;AAAA,EAGD,kBAAkB,GAAA,CAAI;AAAA,IACpB,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACxB,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,GAC1B,CAAA;AAAA,EACD,SAAS,GAAA,CAAI;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,IACpB,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,SAAA;AAAA,IACpC,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,OAAA;AAAA,IACjC,MAAA,EAAQ,CAAA;AAAA,IACR,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,IACzB,OAAA,EAAS;AAAA,GACV,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,IACtB,OAAA,EAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,IACtD,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,IACzB,eAAA,EAAiB,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,SAAA;AAAA,IACzC,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,OAAA;AAAA,IACjC,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAO,IAAI,CAAA,CAAA;AAAA,IAC7C,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GAC9B;AACH,CAAA;;;;"}
|
|
@@ -51,8 +51,8 @@ const getWizardStyles = (theme) => ({
|
|
|
51
51
|
color: theme.colors.text.primary
|
|
52
52
|
}),
|
|
53
53
|
stepCount: css({
|
|
54
|
-
fontSize:
|
|
55
|
-
fontWeight:
|
|
54
|
+
fontSize: theme.typography.bodySmall.fontSize,
|
|
55
|
+
fontWeight: theme.typography.fontWeightRegular,
|
|
56
56
|
color: theme.colors.text.secondary
|
|
57
57
|
}),
|
|
58
58
|
navActions: css({
|
|
@@ -115,7 +115,7 @@ const getWizardStyles = (theme) => ({
|
|
|
115
115
|
minWidth: 0
|
|
116
116
|
}),
|
|
117
117
|
fieldError: css({
|
|
118
|
-
fontSize:
|
|
118
|
+
fontSize: theme.typography.bodySmall.fontSize,
|
|
119
119
|
color: theme.colors.error.text
|
|
120
120
|
})
|
|
121
121
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizardStyles.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.ts"],"sourcesContent":["import { css } from '@emotion/css';\nimport type { GrafanaTheme2 } from '@grafana/data';\n\nexport const getWizardStyles = (theme: GrafanaTheme2) => ({\n container: css({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n padding: theme.spacing(1.5),\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n overflow: 'hidden',\n }),\n overlay: css({\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n background: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n zIndex: 1,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.primary,\n opacity: 0.95,\n }),\n readOnlyBanner: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n padding: `${theme.spacing(0.25)} ${theme.spacing(0.75)}`,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n }),\n navBar: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }),\n navTitle: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n fontSize: theme.typography.body.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n color: theme.colors.text.primary,\n }),\n stepCount: css({\n fontSize:
|
|
1
|
+
{"version":3,"file":"wizardStyles.js","sources":["../../../../../src/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.ts"],"sourcesContent":["import { css } from '@emotion/css';\nimport type { GrafanaTheme2 } from '@grafana/data';\n\nexport const getWizardStyles = (theme: GrafanaTheme2) => ({\n container: css({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(1),\n padding: theme.spacing(1.5),\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n overflow: 'hidden',\n }),\n overlay: css({\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1),\n background: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n zIndex: 1,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.primary,\n opacity: 0.95,\n }),\n readOnlyBanner: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n padding: `${theme.spacing(0.25)} ${theme.spacing(0.75)}`,\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n backgroundColor: theme.colors.background.secondary,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${theme.colors.border.weak}`,\n }),\n navBar: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }),\n navTitle: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n fontSize: theme.typography.body.fontSize,\n fontWeight: theme.typography.fontWeightBold,\n color: theme.colors.text.primary,\n }),\n stepCount: css({\n fontSize: theme.typography.bodySmall.fontSize,\n fontWeight: theme.typography.fontWeightRegular,\n color: theme.colors.text.secondary,\n }),\n navActions: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.25),\n }),\n form: css({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(0.75),\n }),\n buttons: css({\n display: 'flex',\n gap: theme.spacing(1),\n paddingTop: theme.spacing(0.25),\n }),\n fieldRow: css({\n display: 'grid',\n gridTemplateColumns: 'minmax(80px, 1fr) minmax(0, 2fr)',\n gap: theme.spacing(0.75),\n alignItems: 'start',\n }),\n fieldRowCenter: css({\n display: 'grid',\n gridTemplateColumns: 'minmax(80px, 1fr) minmax(0, 2fr)',\n gap: theme.spacing(0.75),\n alignItems: 'center',\n padding: `${theme.spacing(0.5)} 0`,\n }),\n fieldLabelRow: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n paddingTop: theme.spacing(0.5),\n }),\n fieldLabelRowCompact: css({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n }),\n fieldLabel: css({\n fontSize: theme.typography.bodySmall.fontSize,\n fontWeight: theme.typography.fontWeightMedium,\n color: theme.colors.text.primary,\n }),\n fieldRequired: css({\n color: theme.colors.error.text,\n marginLeft: 2,\n }),\n fieldInfoIcon: css({\n color: theme.colors.text.disabled,\n cursor: 'help',\n flexShrink: 0,\n }),\n fieldInputCol: css({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(0.25),\n minWidth: 0,\n }),\n fieldError: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.error.text,\n }),\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { usePrevious } from 'react-use';
|
|
|
6
6
|
import { DataSourcePicker } from '../DataSourcePicker/DataSourcePicker.js';
|
|
7
7
|
|
|
8
8
|
const { FormField, Switch } = LegacyForms;
|
|
9
|
-
const getStyles$
|
|
9
|
+
const getStyles$v = stylesFactory(() => ({
|
|
10
10
|
firstRow: css`
|
|
11
11
|
display: flex;
|
|
12
12
|
`,
|
|
@@ -23,7 +23,7 @@ const getStyles$t = stylesFactory(() => ({
|
|
|
23
23
|
}));
|
|
24
24
|
const DataLink = (props) => {
|
|
25
25
|
const { value, onChange, onDelete, suggestions, className } = props;
|
|
26
|
-
const styles = getStyles$
|
|
26
|
+
const styles = getStyles$v();
|
|
27
27
|
const [showInternalLink, setShowInternalLink] = useInternalLink(value.datasourceUid);
|
|
28
28
|
const handleChange = (field) => (event) => {
|
|
29
29
|
onChange({
|
|
@@ -4,7 +4,7 @@ import { useTheme2, Button } from '@grafana/ui';
|
|
|
4
4
|
import { VariableOrigin, DataLinkBuiltInVars } from '@grafana/data';
|
|
5
5
|
import { DataLink } from './DataLink.js';
|
|
6
6
|
|
|
7
|
-
const getStyles$
|
|
7
|
+
const getStyles$u = (theme) => ({
|
|
8
8
|
infoText: css`
|
|
9
9
|
padding-bottom: ${theme.v1.spacing.md};
|
|
10
10
|
color: ${theme.v1.colors.textWeak};
|
|
@@ -16,7 +16,7 @@ const getStyles$s = (theme) => ({
|
|
|
16
16
|
const DataLinks = (props) => {
|
|
17
17
|
const { value, onChange } = props;
|
|
18
18
|
const theme = useTheme2();
|
|
19
|
-
const styles = getStyles$
|
|
19
|
+
const styles = getStyles$u(theme);
|
|
20
20
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "page-heading" }, "Data links"), /* @__PURE__ */ React.createElement("div", { className: styles.infoText }, "Add links to existing fields. Links will be shown in log row details next to the field value."), /* @__PURE__ */ React.createElement("div", { className: "gf-form-group" }, value && value.map((field, index) => {
|
|
21
21
|
return /* @__PURE__ */ React.createElement(
|
|
22
22
|
DataLink,
|
|
@@ -5,15 +5,15 @@ import { selectors } from '@grafana/e2e-selectors';
|
|
|
5
5
|
import { isUnsignedPluginSignature, PluginSignatureBadge } from '../Plugins/PluginSignatureBadge.js';
|
|
6
6
|
import { getDataSourceSrv } from '@grafana/runtime';
|
|
7
7
|
|
|
8
|
-
var __defProp$
|
|
9
|
-
var __defNormalProp$
|
|
10
|
-
var __publicField$
|
|
8
|
+
var __defProp$4 = Object.defineProperty;
|
|
9
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
11
11
|
class DataSourcePicker extends PureComponent {
|
|
12
12
|
constructor(props) {
|
|
13
13
|
super(props);
|
|
14
|
-
__publicField$
|
|
15
|
-
__publicField$
|
|
16
|
-
__publicField$
|
|
14
|
+
__publicField$4(this, "dataSourceSrv", getDataSourceSrv());
|
|
15
|
+
__publicField$4(this, "state", {});
|
|
16
|
+
__publicField$4(this, "onChange", (item) => {
|
|
17
17
|
const dsSettings = this.dataSourceSrv.getInstanceSettings(item.value);
|
|
18
18
|
if (dsSettings) {
|
|
19
19
|
this.props.onChange(dsSettings);
|
|
@@ -93,7 +93,7 @@ class DataSourcePicker extends PureComponent {
|
|
|
93
93
|
));
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
__publicField$
|
|
96
|
+
__publicField$4(DataSourcePicker, "defaultProps", {
|
|
97
97
|
autoFocus: false,
|
|
98
98
|
openMenuOnFocus: false,
|
|
99
99
|
placeholder: "Select datasource"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '@grafana/data';
|
|
2
2
|
import { css } from '@emotion/css';
|
|
3
3
|
|
|
4
|
-
const getStyles$
|
|
4
|
+
const getStyles$x = (theme) => {
|
|
5
5
|
const containerBorder = theme.isDark ? theme.v1.palette.dark9 : theme.v1.palette.gray5;
|
|
6
6
|
return {
|
|
7
7
|
container: css`
|
|
@@ -149,5 +149,5 @@ const getBodyStyles = (theme) => {
|
|
|
149
149
|
};
|
|
150
150
|
};
|
|
151
151
|
|
|
152
|
-
export { getBodyStyles, getStyles$
|
|
152
|
+
export { getBodyStyles, getStyles$x as getStyles };
|
|
153
153
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from '@emotion/css';
|
|
2
2
|
|
|
3
|
-
function getStyles$
|
|
3
|
+
function getStyles$w() {
|
|
4
4
|
return {
|
|
5
5
|
input: css({
|
|
6
6
|
/* hides the native Calendar picker icon given when using type=date */
|
|
@@ -12,5 +12,5 @@ function getStyles$u() {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export { getStyles$
|
|
15
|
+
export { getStyles$w as getStyles };
|
|
16
16
|
//# sourceMappingURL=styles.js.map
|
|
@@ -6,12 +6,12 @@ import { useStyles2, ReactUtils, Tooltip, Icon, Space, Field } from '@grafana/ui
|
|
|
6
6
|
const EditorField$1 = (props) => {
|
|
7
7
|
var _a;
|
|
8
8
|
const { label, optional, tooltip, tooltipInteractive, children, width, ...fieldProps } = props;
|
|
9
|
-
const styles = useStyles2(getStyles$
|
|
9
|
+
const styles = useStyles2(getStyles$r, width);
|
|
10
10
|
const childInputId = (fieldProps == null ? void 0 : fieldProps.htmlFor) || ((_a = ReactUtils) == null ? void 0 : _a.getChildId(children));
|
|
11
11
|
const labelEl = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("label", { className: styles.label, htmlFor: childInputId }, label, optional && /* @__PURE__ */ React.createElement("span", { className: styles.optional }, " - optional"), tooltip && /* @__PURE__ */ React.createElement(Tooltip, { placement: "top", content: tooltip, theme: "info", interactive: tooltipInteractive }, /* @__PURE__ */ React.createElement(Icon, { tabIndex: 0, name: "info-circle", size: "sm", className: styles.icon }))), /* @__PURE__ */ React.createElement(Space, { v: 0.5 }));
|
|
12
12
|
return /* @__PURE__ */ React.createElement("div", { className: styles.root }, /* @__PURE__ */ React.createElement(Field, { className: styles.field, label: labelEl, ...fieldProps }, children));
|
|
13
13
|
};
|
|
14
|
-
const getStyles$
|
|
14
|
+
const getStyles$r = (theme, width) => {
|
|
15
15
|
return {
|
|
16
16
|
root: css({
|
|
17
17
|
minWidth: theme.spacing(width != null ? width : 0)
|
|
@@ -4,10 +4,10 @@ import '@grafana/data';
|
|
|
4
4
|
import { useStyles2 } from '@grafana/ui';
|
|
5
5
|
|
|
6
6
|
const EditorHeader = ({ children }) => {
|
|
7
|
-
const styles = useStyles2(getStyles$
|
|
7
|
+
const styles = useStyles2(getStyles$s);
|
|
8
8
|
return /* @__PURE__ */ React.createElement("div", { className: styles.root }, children);
|
|
9
9
|
};
|
|
10
|
-
const getStyles$
|
|
10
|
+
const getStyles$s = (theme) => ({
|
|
11
11
|
root: css({
|
|
12
12
|
display: "flex",
|
|
13
13
|
flexWrap: "wrap",
|
|
@@ -5,10 +5,10 @@ import { useStyles2 } from '@grafana/ui';
|
|
|
5
5
|
import { EditorStack } from './EditorStack.js';
|
|
6
6
|
|
|
7
7
|
const EditorRow$1 = ({ children }) => {
|
|
8
|
-
const styles = useStyles2(getStyles$
|
|
8
|
+
const styles = useStyles2(getStyles$q);
|
|
9
9
|
return /* @__PURE__ */ React.createElement("div", { className: styles.root }, /* @__PURE__ */ React.createElement(EditorStack, { gap: 2 }, children));
|
|
10
10
|
};
|
|
11
|
-
const getStyles$
|
|
11
|
+
const getStyles$q = (theme) => {
|
|
12
12
|
return {
|
|
13
13
|
root: css({
|
|
14
14
|
padding: theme.spacing(1),
|
|
@@ -3,10 +3,10 @@ import { css } from '@emotion/css';
|
|
|
3
3
|
import { Switch } from '@grafana/ui';
|
|
4
4
|
|
|
5
5
|
const EditorSwitch = (props) => {
|
|
6
|
-
const styles = getStyles$
|
|
6
|
+
const styles = getStyles$p();
|
|
7
7
|
return /* @__PURE__ */ React.createElement("div", { className: styles.switch }, /* @__PURE__ */ React.createElement(Switch, { ...props }));
|
|
8
8
|
};
|
|
9
|
-
const getStyles$
|
|
9
|
+
const getStyles$p = () => {
|
|
10
10
|
return {
|
|
11
11
|
switch: css({
|
|
12
12
|
display: "flex",
|
|
@@ -3,7 +3,7 @@ import { cx, css } from '@emotion/css';
|
|
|
3
3
|
import { useStyles2 } from '@grafana/ui';
|
|
4
4
|
|
|
5
5
|
const InputGroup = ({ children }) => {
|
|
6
|
-
const styles = useStyles2(getStyles$
|
|
6
|
+
const styles = useStyles2(getStyles$t);
|
|
7
7
|
const modifiedChildren = Children.map(children, (child) => {
|
|
8
8
|
if (isValidElement(child) && child.props.invalid) {
|
|
9
9
|
return cloneElement(child, { className: cx(child.props.className, styles.invalidChild) });
|
|
@@ -21,7 +21,7 @@ const borderPriority = [
|
|
|
21
21
|
"focused"
|
|
22
22
|
// highest priority
|
|
23
23
|
];
|
|
24
|
-
const getStyles$
|
|
24
|
+
const getStyles$t = () => ({
|
|
25
25
|
root: css({
|
|
26
26
|
display: "flex",
|
|
27
27
|
// Style the direct children of the component
|
|
@@ -4,10 +4,10 @@ import '@grafana/data';
|
|
|
4
4
|
import { useStyles2 } from '@grafana/ui';
|
|
5
5
|
|
|
6
6
|
const Space = ({ v = 0, h = 0, layout = "block" }) => {
|
|
7
|
-
const styles = useStyles2(getStyles$
|
|
7
|
+
const styles = useStyles2(getStyles$o, v, h, layout);
|
|
8
8
|
return /* @__PURE__ */ React.createElement("span", { className: cx(styles.wrapper) });
|
|
9
9
|
};
|
|
10
|
-
const getStyles$
|
|
10
|
+
const getStyles$o = (theme, v, h, layout) => ({
|
|
11
11
|
wrapper: css([
|
|
12
12
|
{
|
|
13
13
|
paddingRight: theme.spacing(h != null ? h : 0),
|