UNPKG

@grafana/ui

Version:
1 lines 3.43 kB
{"version":3,"file":"VizLegendSeriesIcon.mjs","sources":["../../../../src/components/VizLegend/VizLegendSeriesIcon.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\n\nimport { t } from '@grafana/i18n';\nimport { type LineStyle } from '@grafana/schema';\n\nimport { SeriesColorPicker } from '../ColorPicker/ColorPicker';\nimport { usePanelContext } from '../PanelChrome';\n\nimport { SeriesIcon } from './SeriesIcon';\n\ninterface Props {\n seriesName: string;\n color?: string;\n gradient?: string;\n readonly?: boolean;\n lineStyle?: LineStyle;\n}\n\n/**\n * @internal\n */\nexport const VizLegendSeriesIcon = memo(({ seriesName, color, gradient, readonly, lineStyle }: Props) => {\n const { onSeriesColorChange } = usePanelContext();\n const onChange = useCallback(\n (color: string) => {\n return onSeriesColorChange!(seriesName, color);\n },\n [seriesName, onSeriesColorChange]\n );\n\n if (seriesName && onSeriesColorChange && color && !readonly) {\n return (\n <SeriesColorPicker color={color} onChange={onChange} enableNamedColors>\n {({ ref, showColorPicker, hideColorPicker, isOpen }) => {\n function handleKeyDown(e: React.KeyboardEvent<HTMLSpanElement>) {\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n showColorPicker();\n }\n }\n return (\n <SeriesIcon\n tabIndex={0}\n role=\"button\"\n aria-label={t('grafana-ui.viz-legend.color-picker', 'Edit color for {{seriesName}}', { seriesName })}\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n color={color}\n className=\"pointer\"\n ref={ref}\n onClick={showColorPicker}\n onKeyDown={handleKeyDown}\n onMouseLeave={hideColorPicker}\n lineStyle={lineStyle}\n />\n );\n }}\n </SeriesColorPicker>\n );\n }\n return <SeriesIcon color={color} gradient={gradient} lineStyle={lineStyle} />;\n});\n\nVizLegendSeriesIcon.displayName = 'VizLegendSeriesIcon';\n"],"names":["color"],"mappings":";;;;;;;;;AAqBO,MAAM,mBAAA,GAAsB,KAAK,CAAC,EAAE,YAAY,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,SAAA,EAAU,KAAa;AACvG,EAAA,MAAM,EAAE,mBAAA,EAAoB,GAAI,eAAA,EAAgB;AAChD,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAACA,MAAAA,KAAkB;AACjB,MAAA,OAAO,mBAAA,CAAqB,YAAYA,MAAK,CAAA;AAAA,IAC/C,CAAA;AAAA,IACA,CAAC,YAAY,mBAAmB;AAAA,GAClC;AAEA,EAAA,IAAI,UAAA,IAAc,mBAAA,IAAuB,KAAA,IAAS,CAAC,QAAA,EAAU;AAC3D,IAAA,uBACE,GAAA,CAAC,iBAAA,EAAA,EAAkB,KAAA,EAAc,QAAA,EAAoB,iBAAA,EAAiB,IAAA,EACnE,QAAA,EAAA,CAAC,EAAE,GAAA,EAAK,eAAA,EAAiB,eAAA,EAAiB,MAAA,EAAO,KAAM;AACtD,MAAA,SAAS,cAAc,CAAA,EAAyC;AAC9D,QAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,GAAA,IAAO,CAAA,CAAE,QAAQ,OAAA,EAAS;AACtC,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,eAAA,EAAgB;AAAA,QAClB;AAAA,MACF;AACA,MAAA,uBACE,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,CAAA;AAAA,UACV,IAAA,EAAK,QAAA;AAAA,UACL,cAAY,CAAA,CAAE,oCAAA,EAAsC,+BAAA,EAAiC,EAAE,YAAY,CAAA;AAAA,UACnG,eAAA,EAAc,MAAA;AAAA,UACd,eAAA,EAAe,MAAA;AAAA,UACf,KAAA;AAAA,UACA,SAAA,EAAU,SAAA;AAAA,UACV,GAAA;AAAA,UACA,OAAA,EAAS,eAAA;AAAA,UACT,SAAA,EAAW,aAAA;AAAA,UACX,YAAA,EAAc,eAAA;AAAA,UACd;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA,EACF,CAAA;AAAA,EAEJ;AACA,EAAA,uBAAO,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAc,QAAA,EAAoB,SAAA,EAAsB,CAAA;AAC7E,CAAC;AAED,mBAAA,CAAoB,WAAA,GAAc,qBAAA;;;;"}