{"version":3,"file":"PanelMenu.mjs","sources":["../../../../src/components/PanelChrome/PanelMenu.tsx"],"sourcesContent":["import { cx } from '@emotion/css';\nimport { ReactElement, useCallback } from 'react';\n\nimport { selectors } from '@grafana/e2e-selectors';\n\nimport { t } from '../../utils/i18n';\nimport { Dropdown } from '../Dropdown/Dropdown';\nimport { ToolbarButton } from '../ToolbarButton';\nimport { TooltipPlacement } from '../Tooltip';\n\ninterface PanelMenuProps {\n  menu: ReactElement | (() => ReactElement);\n  menuButtonClass?: string;\n  dragClassCancel?: string;\n  title?: string;\n  placement?: TooltipPlacement;\n  offset?: [number, number];\n  onOpenMenu?: () => void;\n}\n\nexport function PanelMenu({\n  menu,\n  title,\n  placement = 'bottom',\n  offset,\n  dragClassCancel,\n  menuButtonClass,\n  onOpenMenu,\n}: PanelMenuProps) {\n  const testId = title ? selectors.components.Panels.Panel.menu(title) : `panel-menu-button`;\n\n  const handleVisibility = useCallback(\n    (show: boolean) => {\n      if (show && onOpenMenu) {\n        onOpenMenu();\n      }\n    },\n    [onOpenMenu]\n  );\n\n  return (\n    <Dropdown overlay={menu} placement={placement} offset={offset} onVisibleChange={handleVisibility}>\n      <ToolbarButton\n        aria-label={t('grafana-ui.panel-menu.label', 'Menu for panel {{ title }}', { title: title ?? 'Untitled' })}\n        title={t('grafana-ui.panel-menu.title', 'Menu')}\n        icon=\"ellipsis-v\"\n        iconSize=\"md\"\n        narrow\n        data-testid={testId}\n        className={cx(menuButtonClass, dragClassCancel)}\n      />\n    </Dropdown>\n  );\n}\n"],"names":[],"mappings":";;;;;;;;;AAoBO,SAAS,SAAU,CAAA;AAAA,EACxB,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAY,GAAA,QAAA;AAAA,EACZ,MAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAmB,EAAA;AACjB,EAAM,MAAA,MAAA,GAAS,QAAQ,SAAU,CAAA,UAAA,CAAW,OAAO,KAAM,CAAA,IAAA,CAAK,KAAK,CAAI,GAAA,CAAA,iBAAA,CAAA;AAEvE,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,IAAkB,KAAA;AACjB,MAAA,IAAI,QAAQ,UAAY,EAAA;AACtB,QAAW,UAAA,EAAA;AAAA;AACb,KACF;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,2BACG,QAAS,EAAA,EAAA,OAAA,EAAS,MAAM,SAAsB,EAAA,MAAA,EAAgB,iBAAiB,gBAC9E,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,EAAE,6BAA+B,EAAA,4BAAA,EAA8B,EAAE,KAAO,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,YAAY,CAAA;AAAA,MACzG,KAAA,EAAO,CAAE,CAAA,6BAAA,EAA+B,MAAM,CAAA;AAAA,MAC9C,IAAK,EAAA,YAAA;AAAA,MACL,QAAS,EAAA,IAAA;AAAA,MACT,MAAM,EAAA,IAAA;AAAA,MACN,aAAa,EAAA,MAAA;AAAA,MACb,SAAA,EAAW,EAAG,CAAA,eAAA,EAAiB,eAAe;AAAA;AAAA,GAElD,EAAA,CAAA;AAEJ;;;;"}