UNPKG

@grafana/ui

Version:
1 lines 2.58 kB
{"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';\nimport { t } from '@grafana/i18n';\n\nimport { Dropdown } from '../Dropdown/Dropdown';\nimport { ToolbarButton } from '../ToolbarButton/ToolbarButton';\nimport { TooltipPlacement } from '../Tooltip/types';\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,SAAA,CAAU;AAAA,EACxB,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,QAAA;AAAA,EACZ,MAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,MAAA,GAAS,QAAQ,SAAA,CAAU,UAAA,CAAW,OAAO,KAAA,CAAM,IAAA,CAAK,KAAK,CAAA,GAAI,CAAA,iBAAA,CAAA;AAEvE,EAAA,MAAM,gBAAA,GAAmB,WAAA;AAAA,IACvB,CAAC,IAAA,KAAkB;AACjB,MAAA,IAAI,QAAQ,UAAA,EAAY;AACtB,QAAA,UAAA,EAAW;AAAA,MACb;AAAA,IACF,CAAA;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,2BACG,QAAA,EAAA,EAAS,OAAA,EAAS,MAAM,SAAA,EAAsB,MAAA,EAAgB,iBAAiB,gBAAA,EAC9E,QAAA,kBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,EAAE,6BAAA,EAA+B,4BAAA,EAA8B,EAAE,KAAA,EAAO,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,YAAY,CAAA;AAAA,MACzG,KAAA,EAAO,CAAA,CAAE,6BAAA,EAA+B,MAAM,CAAA;AAAA,MAC9C,IAAA,EAAK,YAAA;AAAA,MACL,QAAA,EAAS,IAAA;AAAA,MACT,MAAA,EAAM,IAAA;AAAA,MACN,aAAA,EAAa,MAAA;AAAA,MACb,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,eAAe;AAAA;AAAA,GAChD,EACF,CAAA;AAEJ;;;;"}