{"version":3,"file":"HttpProxySettings.mjs","sources":["../../../../src/components/DataSourceSettings/HttpProxySettings.tsx"],"sourcesContent":["import { css } from '@emotion/css';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { t } from '@grafana/i18n';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\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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"}