import { css, cx } from '@emotion/css'; import React from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors'; import { IconButton, IconName, useStyles2 } from '@grafana/ui'; interface BaseQueryOperationActionProps { icon: IconName; title: string; onClick: (e: React.MouseEvent) => void; disabled?: boolean; } function BaseQueryOperationAction(props: QueryOperationActionProps | QueryOperationToggleActionProps) { const styles = useStyles2(getStyles); return (
); } interface QueryOperationActionProps extends BaseQueryOperationActionProps {} export function QueryOperationAction(props: QueryOperationActionProps) { return ; } interface QueryOperationToggleActionProps extends BaseQueryOperationActionProps { active: boolean; } export const QueryOperationToggleAction = (props: QueryOperationToggleActionProps) => { return ; }; const getStyles = (theme: GrafanaTheme2) => { return { icon: css` display: flex; position: relative; color: ${theme.colors.text.secondary}; `, active: css` &::before { display: block; content: ' '; position: absolute; left: -1px; right: 2px; height: 3px; border-radius: ${theme.shape.radius.default}; bottom: -8px; background-image: ${theme.colors.gradients.brandHorizontal} !important; } `, }; };