{"version":3,"file":"tooltip.cjs","sources":["../../../../src/options/builder/tooltip.tsx"],"sourcesContent":["import { DataFrame, PanelOptionsEditorBuilder } from '@grafana/data';\nimport { t } from '@grafana/i18n';\nimport { OptionsWithTooltip, TooltipDisplayMode, SortOrder } from '@grafana/schema';\n\n/** @internal */\nexport const optsWithHideZeros: OptionsWithTooltip = {\n  tooltip: {\n    mode: TooltipDisplayMode.Single,\n    sort: SortOrder.None,\n    hideZeros: false,\n  },\n};\n\nexport function addTooltipOptions<T extends OptionsWithTooltip>(\n  builder: PanelOptionsEditorBuilder<T>,\n  singleOnly = false,\n  setProximity = false,\n  defaultOptions?: Partial<OptionsWithTooltip>\n) {\n  const category = [t('grafana-ui.builder.tooltip.category', 'Tooltip')];\n  const modeOptions = singleOnly\n    ? [\n        { value: TooltipDisplayMode.Single, label: t('grafana-ui.builder.tooltip.modeOptions.label-single', 'Single') },\n        { value: TooltipDisplayMode.None, label: t('grafana-ui.builder.tooltip.modeOptions.label-hidden', 'Hidden') },\n      ]\n    : [\n        { value: TooltipDisplayMode.Single, label: t('grafana-ui.builder.tooltip.modeOptions.label-single', 'Single') },\n        { value: TooltipDisplayMode.Multi, label: t('grafana-ui.builder.tooltip.modeOptions.label-all', 'All') },\n        { value: TooltipDisplayMode.None, label: t('grafana-ui.builder.tooltip.modeOptions.label-hidden', 'Hidden') },\n      ];\n\n  const sortOptions = [\n    { value: SortOrder.None, label: t('grafana-ui.builder.tooltip.sortOptions.label-none', 'None') },\n    { value: SortOrder.Ascending, label: t('grafana-ui.builder.tooltip.sortOptions.label-ascending', 'Ascending') },\n    { value: SortOrder.Descending, label: t('grafana-ui.builder.tooltip.sortOptions.label-descending', 'Descending') },\n  ];\n\n  builder\n    .addRadio({\n      path: 'tooltip.mode',\n      name: t('grafana-ui.builder.tooltip.name-tooltip-mode', 'Tooltip mode'),\n      category,\n      defaultValue: defaultOptions?.tooltip?.mode ?? TooltipDisplayMode.Single,\n      settings: {\n        options: modeOptions,\n      },\n    })\n    .addRadio({\n      path: 'tooltip.sort',\n      name: t('grafana-ui.builder.tooltip.name-values-sort-order', 'Values sort order'),\n      category,\n      defaultValue: defaultOptions?.tooltip?.sort ?? SortOrder.None,\n      showIf: (options: T) => options.tooltip?.mode === TooltipDisplayMode.Multi,\n      settings: {\n        options: sortOptions,\n      },\n    })\n    .addBooleanSwitch({\n      path: 'tooltip.hideZeros',\n      name: t('grafana-ui.builder.tooltip.name-hide-zeros', 'Hide zeros'),\n      category,\n      defaultValue: false,\n      showIf: (options: T) =>\n        defaultOptions?.tooltip?.hideZeros !== undefined && options.tooltip?.mode === TooltipDisplayMode.Multi,\n    });\n\n  if (setProximity) {\n    builder.addNumberInput({\n      path: 'tooltip.hoverProximity',\n      name: t('grafana-ui.builder.tooltip.name-hover-proximity', 'Hover proximity'),\n      description: t(\n        'grafana-ui.builder.tooltip.description-hover-proximity',\n        'How close the cursor must be to a point to trigger the tooltip, in pixels'\n      ),\n      category,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T) => options.tooltip?.mode !== TooltipDisplayMode.None,\n    });\n  }\n\n  builder\n    .addNumberInput({\n      path: 'tooltip.maxWidth',\n      name: t('grafana-ui.builder.tooltip.name-max-width', 'Max width'),\n      category,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T) => options.tooltip?.mode !== TooltipDisplayMode.None,\n    })\n    .addNumberInput({\n      path: 'tooltip.maxHeight',\n      name: t('grafana-ui.builder.tooltip.name-max-height', 'Max height'),\n      category,\n      defaultValue: undefined,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T, data: DataFrame[] | undefined, annotations: DataFrame[] | undefined) => {\n        return (\n          options.tooltip?.mode === TooltipDisplayMode.Multi ||\n          annotations?.some((df) => {\n            return df.meta?.custom?.resultType === 'exemplar';\n          })\n        );\n      },\n    });\n}\n"],"names":["TooltipDisplayMode","SortOrder","t","_a","_b"],"mappings":";;;;;;;;AAKO,MAAM,iBAAA,GAAwC;AAAA,EACnD,OAAA,EAAS;AAAA,IACP,MAAMA,yBAAA,CAAmB,MAAA;AAAA,IACzB,MAAMC,gBAAA,CAAU,IAAA;AAAA,IAChB,SAAA,EAAW;AAAA;AAEf;AAEO,SAAS,kBACd,OAAA,EACA,UAAA,GAAa,KAAA,EACb,YAAA,GAAe,OACf,cAAA,EACA;AAlBF,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAmBE,EAAA,MAAM,QAAA,GAAW,CAACC,MAAA,CAAE,qCAAA,EAAuC,SAAS,CAAC,CAAA;AACrE,EAAA,MAAM,cAAc,UAAA,GAChB;AAAA,IACE,EAAE,OAAOF,yBAAA,CAAmB,MAAA,EAAQ,OAAOE,MAAA,CAAE,qDAAA,EAAuD,QAAQ,CAAA,EAAE;AAAA,IAC9G,EAAE,OAAOF,yBAAA,CAAmB,IAAA,EAAM,OAAOE,MAAA,CAAE,qDAAA,EAAuD,QAAQ,CAAA;AAAE,GAC9G,GACA;AAAA,IACE,EAAE,OAAOF,yBAAA,CAAmB,MAAA,EAAQ,OAAOE,MAAA,CAAE,qDAAA,EAAuD,QAAQ,CAAA,EAAE;AAAA,IAC9G,EAAE,OAAOF,yBAAA,CAAmB,KAAA,EAAO,OAAOE,MAAA,CAAE,kDAAA,EAAoD,KAAK,CAAA,EAAE;AAAA,IACvG,EAAE,OAAOF,yBAAA,CAAmB,IAAA,EAAM,OAAOE,MAAA,CAAE,qDAAA,EAAuD,QAAQ,CAAA;AAAE,GAC9G;AAEJ,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,EAAE,OAAOD,gBAAA,CAAU,IAAA,EAAM,OAAOC,MAAA,CAAE,mDAAA,EAAqD,MAAM,CAAA,EAAE;AAAA,IAC/F,EAAE,OAAOD,gBAAA,CAAU,SAAA,EAAW,OAAOC,MAAA,CAAE,wDAAA,EAA0D,WAAW,CAAA,EAAE;AAAA,IAC9G,EAAE,OAAOD,gBAAA,CAAU,UAAA,EAAY,OAAOC,MAAA,CAAE,yDAAA,EAA2D,YAAY,CAAA;AAAE,GACnH;AAEA,EAAA,OAAA,CACG,QAAA,CAAS;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAMA,MAAA,CAAE,8CAAA,EAAgD,cAAc,CAAA;AAAA,IACtE,QAAA;AAAA,IACA,eAAc,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,OAAA,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,IAAA,KAAzB,YAAiCF,yBAAA,CAAmB,MAAA;AAAA,IAClE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA;AACX,GACD,EACA,QAAA,CAAS;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAME,MAAA,CAAE,mDAAA,EAAqD,mBAAmB,CAAA;AAAA,IAChF,QAAA;AAAA,IACA,eAAc,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,OAAA,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,IAAA,KAAzB,YAAiCD,gBAAA,CAAU,IAAA;AAAA,IACzD,MAAA,EAAQ,CAAC,OAAA,KAAY;AApD3B,MAAA,IAAAE,GAAAA;AAoD8B,MAAA,OAAA,CAAA,CAAAA,MAAA,OAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAiB,UAASH,yBAAA,CAAmB,KAAA;AAAA,IAAA,CAAA;AAAA,IACrE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA;AACX,GACD,EACA,gBAAA,CAAiB;AAAA,IAChB,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAME,MAAA,CAAE,4CAAA,EAA8C,YAAY,CAAA;AAAA,IAClE,QAAA;AAAA,IACA,YAAA,EAAc,KAAA;AAAA,IACd,MAAA,EAAQ,CAAC,OAAA,KAAY;AA9D3B,MAAA,IAAAC,GAAAA,EAAAC,GAAAA;AA+DQ,MAAA,OAAA,CAAA,CAAAD,GAAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,OAAA,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAyB,SAAA,MAAc,KAAA,CAAA,IAAA,CAAA,CAAaC,GAAAA,GAAA,OAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAiB,UAASJ,yBAAA,CAAmB,KAAA;AAAA,IAAA;AAAA,GACpG,CAAA;AAEH,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,OAAA,CAAQ,cAAA,CAAe;AAAA,MACrB,IAAA,EAAM,wBAAA;AAAA,MACN,IAAA,EAAME,MAAA,CAAE,iDAAA,EAAmD,iBAAiB,CAAA;AAAA,MAC5E,WAAA,EAAaA,MAAA;AAAA,QACX,wDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,QAAA;AAAA,MACA,QAAA,EAAU;AAAA,QACR,OAAA,EAAS;AAAA,OACX;AAAA,MACA,MAAA,EAAQ,CAAC,OAAA,KAAY;AA9E3B,QAAA,IAAAC,GAAAA;AA8E8B,QAAA,OAAA,CAAA,CAAAA,MAAA,OAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAiB,UAASH,yBAAA,CAAmB,IAAA;AAAA,MAAA;AAAA,KACtE,CAAA;AAAA,EACH;AAEA,EAAA,OAAA,CACG,cAAA,CAAe;AAAA,IACd,IAAA,EAAM,kBAAA;AAAA,IACN,IAAA,EAAME,MAAA,CAAE,2CAAA,EAA6C,WAAW,CAAA;AAAA,IAChE,QAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ,CAAC,OAAA,KAAY;AA1F3B,MAAA,IAAAC,GAAAA;AA0F8B,MAAA,OAAA,CAAA,CAAAA,MAAA,OAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAiB,UAASH,yBAAA,CAAmB,IAAA;AAAA,IAAA;AAAA,GACtE,EACA,cAAA,CAAe;AAAA,IACd,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAME,MAAA,CAAE,4CAAA,EAA8C,YAAY,CAAA;AAAA,IAClE,QAAA;AAAA,IACA,YAAA,EAAc,KAAA,CAAA;AAAA,IACd,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ,CAAC,OAAA,EAAY,IAAA,EAA+B,WAAA,KAAyC;AApGnG,MAAA,IAAAC,GAAAA;AAqGQ,MAAA,OAAA,CAAA,CACEA,GAAAA,GAAA,OAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAAA,CAAiB,IAAA,MAASH,yBAAA,CAAmB,KAAA,KAC7C,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAa,IAAA,CAAK,CAAC,EAAA,KAAO;AAvGpC,QAAA,IAAAG,GAAAA,EAAAC,GAAAA;AAwGY,QAAA,OAAA,CAAA,CAAOA,GAAAA,GAAAA,CAAAD,MAAA,EAAA,CAAG,IAAA,KAAH,gBAAAA,GAAAA,CAAS,MAAA,KAAT,IAAA,GAAA,KAAA,CAAA,GAAAC,GAAAA,CAAiB,UAAA,MAAe,UAAA;AAAA,MACzC,CAAA,CAAA,CAAA;AAAA,IAEJ;AAAA,GACD,CAAA;AACL;;;;;"}