{"version":3,"file":"HttpProxySettings.mjs","sources":["../../../../src/components/DataSourceSettings/HttpProxySettings.tsx"],"sourcesContent":["import { css } from '@emotion/css';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../themes';\nimport { t } from '../../utils/i18n';\nimport { InlineField } from '../Forms/InlineField';\nimport { Stack } from '../Layout/Stack/Stack';\nimport { InlineSwitch } from '../Switch/Switch';\n\nimport { HttpSettingsBaseProps } from './types';\n\nconst LABEL_WIDTH = 26;\n\nexport const HttpProxySettings = ({\n  dataSourceConfig,\n  onChange,\n  showForwardOAuthIdentityOption = true,\n}: HttpSettingsBaseProps) => {\n  const gridLayout = useStyles2(getGridLayout);\n  return (\n    <div className={gridLayout}>\n      <Stack direction=\"row\" gap={0.5}>\n        <InlineField\n          label={t('grafana-ui.data-source-http-proxy-settings.ts-client-auth-label', 'TLS Client Auth')}\n          labelWidth={LABEL_WIDTH}\n          disabled={dataSourceConfig.readOnly}\n        >\n          <InlineSwitch\n            id=\"http-settings-tls-client-auth\"\n            value={dataSourceConfig.jsonData.tlsAuth || false}\n            onChange={(event) => onChange({ ...dataSourceConfig.jsonData, tlsAuth: event!.currentTarget.checked })}\n          />\n        </InlineField>\n        <InlineField\n          label={t('grafana-ui.data-source-http-proxy-settings.with-ca-cert-label', 'With CA Cert')}\n          tooltip={t(\n            'grafana-ui.data-source-http-proxy-settings.with-ca-cert-tooltip',\n            'Needed for verifying self-signed TLS Certs'\n          )}\n          labelWidth={LABEL_WIDTH}\n          disabled={dataSourceConfig.readOnly}\n        >\n          <InlineSwitch\n            id=\"http-settings-ca-cert\"\n            value={dataSourceConfig.jsonData.tlsAuthWithCACert || false}\n            onChange={(event) =>\n              onChange({ ...dataSourceConfig.jsonData, tlsAuthWithCACert: event!.currentTarget.checked })\n            }\n          />\n        </InlineField>\n      </Stack>\n      <InlineField\n        label={t('grafana-ui.data-source-http-proxy-settings.skip-tls-verify-label', 'Skip TLS Verify')}\n        labelWidth={LABEL_WIDTH}\n        disabled={dataSourceConfig.readOnly}\n      >\n        <InlineSwitch\n          id=\"http-settings-skip-tls-verify\"\n          value={dataSourceConfig.jsonData.tlsSkipVerify || false}\n          onChange={(event) => onChange({ ...dataSourceConfig.jsonData, tlsSkipVerify: event!.currentTarget.checked })}\n        />\n      </InlineField>\n      {showForwardOAuthIdentityOption && (\n        <InlineField\n          label={t('grafana-ui.data-source-http-proxy-settings.oauth-identity-label', 'Forward OAuth Identity')}\n          tooltip={t(\n            'grafana-ui.data-source-http-proxy-settings.oauth-identity-tooltip',\n            \"Forward the user's upstream OAuth identity to the data source (Their access token gets passed along).\"\n          )}\n          labelWidth={LABEL_WIDTH}\n          disabled={dataSourceConfig.readOnly}\n        >\n          <InlineSwitch\n            id=\"http-settings-forward-oauth\"\n            value={dataSourceConfig.jsonData.oauthPassThru || false}\n            onChange={(event) =>\n              onChange({ ...dataSourceConfig.jsonData, oauthPassThru: event!.currentTarget.checked })\n            }\n          />\n        </InlineField>\n      )}\n    </div>\n  );\n};\n\nconst getGridLayout = (theme: GrafanaTheme2) =>\n  css({\n    display: 'grid',\n    gridTemplateColumns: 'auto',\n    gap: 0, // Inline field has a margin\n  });\n"],"names":[],"mappings":"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"}