{"version":3,"file":"index.cjs","sources":["../../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["import { Container } from '@/components/Container';\nimport { Dialog } from '@/components/Dialog';\nimport { Separator } from '@/components/Separator';\nimport { Text } from '@/components/Text';\nimport { ReactElement } from 'react';\nimport { cn } from '@/lib/cva';\nimport styles from './ConfirmationDialog.module.css';\nimport { ConfirmationDialogProps } from './ConfirmationDialog.types';\n\nexport const ConfirmationDialog = ({\n  children,\n  className,\n  disabled,\n  loading,\n  message,\n  onCancel,\n  onConfirm,\n  open,\n  primaryActionLabel = 'Confirm',\n  primaryActionType = 'primary',\n  secondaryActionLabel = 'Cancel',\n  showClose,\n  title,\n  ...props\n}: ConfirmationDialogProps): ReactElement => {\n  if (children && message) {\n    throw new Error(\"You can't pass children and message props at the same time\");\n  }\n\n  return (\n    <Dialog\n      open={open}\n      onOpenChange={(open: boolean) => {\n        if (!open && onCancel) {\n          onCancel();\n        }\n      }}\n    >\n      <Dialog.Content\n        title={title}\n        showClose={showClose}\n        {...props}\n        className={cn(styles.content, className)}\n      >\n        <Container\n          overflow=\"auto\"\n          grow=\"1\"\n          orientation=\"vertical\"\n        >\n          {children ? children : <Text>{message}</Text>}\n        </Container>\n        <Separator size=\"xl\" />\n        <div className={styles.actions}>\n          <Dialog.Close\n            label={secondaryActionLabel}\n            data-testid=\"cancel-action-button\"\n          />\n          <Dialog.Close\n            loading={!!loading}\n            disabled={!!disabled || !!loading}\n            type={primaryActionType}\n            label={primaryActionLabel}\n            // eslint-disable-next-line jsx-a11y/no-autofocus -- a dialog must move focus inside on open (APG dialog pattern); this picks the primary action\n            autoFocus={open}\n            onClick={() => {\n              if (onConfirm) {\n                onConfirm();\n              }\n            }}\n            data-testid=\"confirm-action-button\"\n          />\n        </div>\n      </Dialog.Content>\n    </Dialog>\n  );\n};\n"],"names":["jsx","Dialog","open","jsxs","cn","styles","Container","Text","Separator"],"mappings":";;;;;;;;;;;;AASO,MAAM,qBAAqB,CAAC;AAAA,EACjC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,kBAAA,GAAqB,SAAA;AAAA,EACrB,iBAAA,GAAoB,SAAA;AAAA,EACpB,oBAAA,GAAuB,QAAA;AAAA,EACvB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA6C;AAC3C,EAAA,IAAI,YAAY,OAAA,EAAS;AACvB,IAAA,MAAM,IAAI,MAAM,4DAA4D,CAAA;AAAA,EAC9E;AAEA,EAAA,uBACEA,cAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,YAAA,EAAc,CAACC,KAAAA,KAAkB;AAC/B,QAAA,IAAI,CAACA,SAAQ,QAAA,EAAU;AACrB,UAAA,QAAA,EAAS;AAAA,QACX;AAAA,MACF,CAAA;AAAA,MAEA,QAAA,kBAAAC,eAAA;AAAA,QAACF,aAAA,CAAO,OAAA;AAAA,QAAP;AAAA,UACC,KAAA;AAAA,UACA,SAAA;AAAA,UACC,GAAG,KAAA;AAAA,UACJ,SAAA,EAAWG,MAAA,CAAGC,iCAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAAA,UAEvC,QAAA,EAAA;AAAA,4BAAAL,cAAA;AAAA,cAACM,mBAAA;AAAA,cAAA;AAAA,gBACC,QAAA,EAAS,MAAA;AAAA,gBACT,IAAA,EAAK,GAAA;AAAA,gBACL,WAAA,EAAY,UAAA;AAAA,gBAEX,QAAA,EAAA,QAAA,GAAW,QAAA,mBAAWN,cAAA,CAACO,SAAA,EAAA,EAAM,QAAA,EAAA,OAAA,EAAQ;AAAA;AAAA,aACxC;AAAA,4BACAP,cAAA,CAACQ,mBAAA,EAAA,EAAU,IAAA,EAAK,IAAA,EAAK,CAAA;AAAA,4BACrBL,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWE,iCAAA,CAAO,OAAA,EACrB,QAAA,EAAA;AAAA,8BAAAL,cAAA;AAAA,gBAACC,aAAA,CAAO,KAAA;AAAA,gBAAP;AAAA,kBACC,KAAA,EAAO,oBAAA;AAAA,kBACP,aAAA,EAAY;AAAA;AAAA,eACd;AAAA,8BACAD,cAAA;AAAA,gBAACC,aAAA,CAAO,KAAA;AAAA,gBAAP;AAAA,kBACC,OAAA,EAAS,CAAC,CAAC,OAAA;AAAA,kBACX,QAAA,EAAU,CAAC,CAAC,QAAA,IAAY,CAAC,CAAC,OAAA;AAAA,kBAC1B,IAAA,EAAM,iBAAA;AAAA,kBACN,KAAA,EAAO,kBAAA;AAAA,kBAEP,SAAA,EAAW,IAAA;AAAA,kBACX,SAAS,MAAM;AACb,oBAAA,IAAI,SAAA,EAAW;AACb,sBAAA,SAAA,EAAU;AAAA,oBACZ;AAAA,kBACF,CAAA;AAAA,kBACA,aAAA,EAAY;AAAA;AAAA;AACd,aAAA,EACF;AAAA;AAAA;AAAA;AACF;AAAA,GACF;AAEJ;;"}