import { css, cx } from '@emotion/css'; import React from 'react'; import { GrafanaTheme2, renderMarkdown } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; export interface Props extends React.HTMLAttributes { children?: React.ReactNode; markdown?: string; onRemove?: () => void; } export const OperationRowHelp = React.memo( React.forwardRef(({ className, children, markdown, onRemove, ...otherProps }, ref) => { const styles = useStyles2(getStyles); return (
{markdown && markdownHelper(markdown)} {children}
); }) ); function markdownHelper(markdown: string) { const helpHtml = renderMarkdown(markdown); return
; } OperationRowHelp.displayName = 'OperationRowHelp'; const getStyles = (theme: GrafanaTheme2) => { const borderRadius = theme.shape.borderRadius(); return { wrapper: css` padding: ${theme.spacing(2)}; border: 2px solid ${theme.colors.background.secondary}; border-top: none; border-radius: 0 0 ${borderRadius} ${borderRadius}; position: relative; top: -4px; `, }; };