{"version":3,"file":"ExemplarsSettings.mjs","sources":["../../../src/configuration/ExemplarsSettings.tsx"],"sourcesContent":["// Core Grafana history https://github.com/grafana/grafana/blob/v11.0.0-preview/public/app/plugins/datasource/prometheus/configuration/ExemplarsSettings.tsx\nimport { css } from '@emotion/css';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { t, Trans } from '@grafana/i18n';\nimport { ConfigSubSection } from '@grafana/plugin-ui';\nimport { Button, useTheme2 } from '@grafana/ui';\n\nimport { type ExemplarTraceIdDestination } from '../types';\n\nimport { ExemplarSetting } from './ExemplarSetting';\nimport { overhaulStyles } from './shared/utils';\n\ntype Props = {\n  options?: ExemplarTraceIdDestination[];\n  onChange: (value: ExemplarTraceIdDestination[]) => void;\n  disabled?: boolean;\n};\n\nexport function ExemplarsSettings({ options, onChange, disabled }: Props) {\n  const theme = useTheme2();\n  const styles = overhaulStyles(theme);\n  return (\n    <div className={styles.sectionBottomPadding}>\n      <ConfigSubSection\n        title={t('grafana-prometheus.configuration.exemplars-settings.title-exemplars', 'Exemplars')}\n        className={styles.container}\n      >\n        {options &&\n          options.map((option, index) => {\n            return (\n              <ExemplarSetting\n                key={index}\n                value={option}\n                onChange={(newField) => {\n                  const newOptions = [...options];\n                  newOptions.splice(index, 1, newField);\n                  onChange(newOptions);\n                }}\n                onDelete={() => {\n                  const newOptions = [...options];\n                  newOptions.splice(index, 1);\n                  onChange(newOptions);\n                }}\n                disabled={disabled}\n              />\n            );\n          })}\n\n        {!disabled && (\n          <Button\n            variant=\"secondary\"\n            data-testid={selectors.components.DataSource.Prometheus.configPage.exemplarsAddButton}\n            className={css({\n              marginBottom: '10px',\n            })}\n            icon=\"plus\"\n            onClick={(event) => {\n              event.preventDefault();\n              const newOptions = [...(options || []), { name: 'traceID' }];\n              onChange(newOptions);\n            }}\n          >\n            <Trans i18nKey=\"grafana-prometheus.configuration.exemplars-settings.add\">Add</Trans>\n          </Button>\n        )}\n        {disabled && !options && (\n          <i>\n            <Trans i18nKey=\"grafana-prometheus.configuration.exemplars-settings.no-exemplars-configurations\">\n              No exemplars configurations\n            </Trans>\n          </i>\n        )}\n      </ConfigSubSection>\n    </div>\n  );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAmBO,SAAS,iBAAA,CAAkB,EAAE,OAAA,EAAS,QAAA,EAAU,UAAS,EAAU;AACxE,EAAA,MAAM,QAAQ,SAAA,EAAU;AACxB,EAAA,MAAM,MAAA,GAAS,eAAe,KAAK,CAAA;AACnC,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,oBAAA,EACrB,QAAA,kBAAA,IAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,CAAA,CAAE,qEAAA,EAAuE,WAAW,CAAA;AAAA,MAC3F,WAAW,MAAA,CAAO,SAAA;AAAA,MAEjB,QAAA,EAAA;AAAA,QAAA,OAAA,IACC,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAA,KAAU;AAC7B,UAAA,uBACE,GAAA;AAAA,YAAC,eAAA;AAAA,YAAA;AAAA,cAEC,KAAA,EAAO,MAAA;AAAA,cACP,QAAA,EAAU,CAAC,QAAA,KAAa;AACtB,gBAAA,MAAM,UAAA,GAAa,CAAC,GAAG,OAAO,CAAA;AAC9B,gBAAA,UAAA,CAAW,MAAA,CAAO,KAAA,EAAO,CAAA,EAAG,QAAQ,CAAA;AACpC,gBAAA,QAAA,CAAS,UAAU,CAAA;AAAA,cACrB,CAAA;AAAA,cACA,UAAU,MAAM;AACd,gBAAA,MAAM,UAAA,GAAa,CAAC,GAAG,OAAO,CAAA;AAC9B,gBAAA,UAAA,CAAW,MAAA,CAAO,OAAO,CAAC,CAAA;AAC1B,gBAAA,QAAA,CAAS,UAAU,CAAA;AAAA,cACrB,CAAA;AAAA,cACA;AAAA,aAAA;AAAA,YAZK;AAAA,WAaP;AAAA,QAEJ,CAAC,CAAA;AAAA,QAEF,CAAC,QAAA,oBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,WAAA;AAAA,YACR,aAAA,EAAa,SAAA,CAAU,UAAA,CAAW,UAAA,CAAW,WAAW,UAAA,CAAW,kBAAA;AAAA,YACnE,WAAW,GAAA,CAAI;AAAA,cACb,YAAA,EAAc;AAAA,aACf,CAAA;AAAA,YACD,IAAA,EAAK,MAAA;AAAA,YACL,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,cAAA,KAAA,CAAM,cAAA,EAAe;AACrB,cAAA,MAAM,UAAA,GAAa,CAAC,GAAI,OAAA,IAAW,EAAC,EAAI,EAAE,IAAA,EAAM,SAAA,EAAW,CAAA;AAC3D,cAAA,QAAA,CAAS,UAAU,CAAA;AAAA,YACrB,CAAA;AAAA,YAEA,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAQ,yDAAA,EAA0D,QAAA,EAAA,KAAA,EAAG;AAAA;AAAA,SAC9E;AAAA,QAED,QAAA,IAAY,CAAC,OAAA,oBACZ,GAAA,CAAC,GAAA,EAAA,EACC,8BAAC,KAAA,EAAA,EAAM,OAAA,EAAQ,iFAAA,EAAkF,QAAA,EAAA,6BAAA,EAEjG,CAAA,EACF;AAAA;AAAA;AAAA,GAEJ,EACF,CAAA;AAEJ;;;;"}