{"version":3,"file":"ConfirmModal.cjs","sources":["../../../src/components/ConfirmModal.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { useRef, useEffect } from 'react';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { t, Trans } from '@grafana/i18n';\nimport { Button, Icon, Modal, useStyles2 } from '@grafana/ui';\n\ntype ConfirmModalProps = {\n  isOpen: boolean;\n  onCancel?: () => void;\n  onDiscard?: () => void;\n  onCopy?: () => void;\n};\nexport function ConfirmModal({ isOpen, onCancel, onDiscard, onCopy }: ConfirmModalProps) {\n  const buttonRef = useRef<HTMLButtonElement>(null);\n  const styles = useStyles2(getStyles);\n\n  // Moved from grafana/ui\n  useEffect(() => {\n    // for some reason autoFocus property did no work on this button, but this does\n    if (isOpen) {\n      buttonRef.current?.focus();\n    }\n  }, [isOpen]);\n\n  return (\n    <Modal\n      title={\n        <div className={styles.modalHeaderTitle}>\n          <Icon name=\"exclamation-triangle\" size=\"lg\" />\n          <span className={styles.titleText}>\n            <Trans i18nKey=\"grafana-sql.components.confirm-modal.warning\">Warning</Trans>\n          </span>\n        </div>\n      }\n      ariaLabel={t('grafana-sql.components.confirm-modal.warning', 'Warning')}\n      onDismiss={onCancel}\n      isOpen={isOpen}\n    >\n      <p>\n        <Trans i18nKey=\"grafana-sql.components.confirm-modal.builder-mode\">\n          Builder mode does not display changes made in code. The query builder will display the last changes you made\n          in builder mode.\n        </Trans>\n      </p>\n      <p>\n        <Trans i18nKey=\"grafana-sql.components.confirm-modal.clipboard\">\n          Do you want to copy your code to the clipboard?\n        </Trans>\n      </p>\n      <Modal.ButtonRow>\n        <Button type=\"button\" variant=\"secondary\" onClick={onCancel} fill=\"outline\">\n          <Trans i18nKey=\"grafana-sql.components.confirm-modal.cancel\">Cancel</Trans>\n        </Button>\n        <Button variant=\"destructive\" type=\"button\" onClick={onDiscard} ref={buttonRef}>\n          <Trans i18nKey=\"grafana-sql.components.confirm-modal.discard-code-and-switch\">Discard code and switch</Trans>\n        </Button>\n        <Button variant=\"primary\" onClick={onCopy}>\n          <Trans i18nKey=\"grafana-sql.components.confirm-modal.copy-code-and-switch\">Copy code and switch</Trans>\n        </Button>\n      </Modal.ButtonRow>\n    </Modal>\n  );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n  titleText: css({\n    paddingLeft: theme.spacing(2),\n  }),\n  modalHeaderTitle: css({\n    fontSize: theme.typography.size.lg,\n    float: 'left',\n    paddingTop: theme.spacing(1),\n    margin: theme.spacing(0, 2),\n  }),\n});\n"],"names":["useRef","useStyles2","useEffect","jsxs","Modal","jsx","Icon","Trans","t","Button","css"],"mappings":"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"}