{"version":3,"file":"stacking.cjs","sources":["../../../../src/options/builder/stacking.tsx"],"sourcesContent":["import {\n  FieldConfigEditorBuilder,\n  StandardEditorProps,\n  FieldType,\n  identityOverrideProcessor,\n  SelectableValue,\n} from '@grafana/data';\nimport { t } from '@grafana/i18n';\nimport { GraphFieldConfig, StackingConfig, StackingMode } from '@grafana/schema';\n\nimport { RadioButtonGroup } from '../../components/Forms/RadioButtonGroup/RadioButtonGroup';\nimport { IconButton } from '../../components/IconButton/IconButton';\nimport { Input } from '../../components/Input/Input';\nimport { Stack } from '../../components/Layout/Stack/Stack';\nimport { getGraphFieldOptions } from '../../components/uPlot/config';\n\nexport const StackingEditor = ({\n  value,\n  context,\n  onChange,\n  item,\n}: StandardEditorProps<StackingConfig, { options: Array<SelectableValue<StackingMode>> }>) => {\n  return (\n    <Stack>\n      <RadioButtonGroup\n        value={value?.mode || StackingMode.None}\n        options={item.settings?.options ?? []}\n        onChange={(v) => {\n          onChange({\n            ...value,\n            mode: v,\n          });\n        }}\n      />\n      {context.isOverride && value?.mode && value?.mode !== StackingMode.None && (\n        <Input\n          type=\"text\"\n          placeholder={t('grafana-ui.stacking-builder.group', 'Group')}\n          suffix={\n            <IconButton\n              name=\"question-circle\"\n              tooltip={t('grafana-ui.stacking-builder.group-tooltip', 'Name of the stacking group')}\n              tooltipPlacement=\"top\"\n            />\n          }\n          defaultValue={value?.group}\n          onChange={(v) => {\n            onChange({\n              ...value,\n              group: v.currentTarget.value.trim(),\n            });\n          }}\n        />\n      )}\n    </Stack>\n  );\n};\n\nexport function addStackingConfig(\n  builder: FieldConfigEditorBuilder<GraphFieldConfig>,\n  defaultConfig?: StackingConfig,\n  category = ['Graph styles']\n) {\n  const graphFieldOptions = getGraphFieldOptions();\n  builder.addCustomEditor({\n    id: 'stacking',\n    path: 'stacking',\n    name: t('grafana-ui.builder.stacking.name-stack-series', 'Stack series'),\n    category: category,\n    defaultValue: defaultConfig,\n    editor: StackingEditor,\n    override: StackingEditor,\n    settings: {\n      options: graphFieldOptions.stacking,\n    },\n    process: identityOverrideProcessor,\n    shouldApply: (f) => f.type === FieldType.number,\n  });\n}\n"],"names":["Stack","jsx","RadioButtonGroup","StackingMode","Input","t","IconButton","getGraphFieldOptions","identityOverrideProcessor","FieldType"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAA8F;AArB9F,EAAA,IAAA,EAAA,EAAA,EAAA;AAsBE,EAAA,uCACGA,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,iCAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAA,CAAO,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAA,KAAQC,mBAAA,CAAa,IAAA;AAAA,QACnC,UAAS,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,QAAA,KAAL,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,OAAA,KAAf,YAA0B,EAAC;AAAA,QACpC,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,UAAA,QAAA,CAAS;AAAA,YACP,GAAG,KAAA;AAAA,YACH,IAAA,EAAM;AAAA,WACP,CAAA;AAAA,QACH;AAAA;AAAA,KACF;AAAA,IACC,QAAQ,UAAA,KAAc,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAQ,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAA,MAASA,oBAAa,IAAA,oBACjEF,cAAA;AAAA,MAACG,WAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,MAAA;AAAA,QACL,WAAA,EAAaC,MAAA,CAAE,mCAAA,EAAqC,OAAO,CAAA;AAAA,QAC3D,MAAA,kBACEJ,cAAA;AAAA,UAACK,qBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,iBAAA;AAAA,YACL,OAAA,EAASD,MAAA,CAAE,2CAAA,EAA6C,4BAA4B,CAAA;AAAA,YACpF,gBAAA,EAAiB;AAAA;AAAA,SACnB;AAAA,QAEF,cAAc,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAA;AAAA,QACrB,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,UAAA,QAAA,CAAS;AAAA,YACP,GAAG,KAAA;AAAA,YACH,KAAA,EAAO,CAAA,CAAE,aAAA,CAAc,KAAA,CAAM,IAAA;AAAK,WACnC,CAAA;AAAA,QACH;AAAA;AAAA;AACF,GAAA,EAEJ,CAAA;AAEJ;AAEO,SAAS,kBACd,OAAA,EACA,aAAA,EACA,QAAA,GAAW,CAAC,cAAc,CAAA,EAC1B;AACA,EAAA,MAAM,oBAAoBE,2BAAA,EAAqB;AAC/C,EAAA,OAAA,CAAQ,eAAA,CAAgB;AAAA,IACtB,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAMF,MAAA,CAAE,+CAAA,EAAiD,cAAc,CAAA;AAAA,IACvE,QAAA;AAAA,IACA,YAAA,EAAc,aAAA;AAAA,IACd,MAAA,EAAQ,cAAA;AAAA,IACR,QAAA,EAAU,cAAA;AAAA,IACV,QAAA,EAAU;AAAA,MACR,SAAS,iBAAA,CAAkB;AAAA,KAC7B;AAAA,IACA,OAAA,EAASG,8BAAA;AAAA,IACT,WAAA,EAAa,CAAC,CAAA,KAAM,CAAA,CAAE,SAASC,cAAA,CAAU;AAAA,GAC1C,CAAA;AACH;;;;;"}