{"version":3,"file":"tooltip.mjs","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":["_a","_b"],"mappings":"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"}