import { css } from '@emotion/css'; import { GrafanaTheme2 } from '@grafana/data'; import { Spinner, Stack, Text } from '@grafana/ui'; import { IconButton, useStyles2 } from '@grafana/ui/'; import { ConfirmContent, ConfirmContentProps } from '@grafana/ui/src/components/ConfirmModal/ConfirmContent'; import { t } from 'app/core/internationalization'; export function ShareDrawerConfirmAction({ onConfirm, onDismiss, description, confirmButtonLabel, title, isActionLoading, }: { title: string; isActionLoading: boolean } & Pick< ConfirmContentProps, 'description' | 'onConfirm' | 'onDismiss' | 'confirmButtonLabel' >) { const styles = useStyles2(getStyles); const ConfirmBody = () => (
{title} {isActionLoading && }
); return ( } description={description} confirmButtonLabel={confirmButtonLabel} confirmButtonVariant="destructive" dismissButtonLabel={t('share-drawer.confirm-action.cancel-button', 'Cancel')} dismissButtonVariant="secondary" justifyButtons="flex-start" onConfirm={onConfirm} onDismiss={onDismiss} /> ); } const getStyles = (theme: GrafanaTheme2) => ({ bodyContainer: css({ marginBottom: theme.spacing(2), }), });