{"version":3,"file":"DeleteLocale.mjs","sources":["../../../admin/src/components/DeleteLocale.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ConfirmDialog, useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { Dialog, IconButton } from '@strapi/design-system';\nimport { Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDeleteLocaleMutation } from '../services/locales';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport type { Locale } from '../../../shared/contracts/locales';\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DeleteLocaleProps extends Locale {}\n\nconst DeleteLocale = ({ id, name }: DeleteLocaleProps) => {\n  const { formatMessage } = useIntl();\n  const { toggleNotification } = useNotification();\n  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n  const [visible, setVisible] = React.useState(false);\n\n  const [deleteLocale] = useDeleteLocaleMutation();\n  const handleConfirm = async () => {\n    try {\n      const res = await deleteLocale(id);\n\n      if ('error' in res) {\n        toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n        return;\n      }\n\n      toggleNotification({\n        type: 'success',\n        message: formatMessage({\n          id: getTranslation('Settings.locales.modal.delete.success'),\n          defaultMessage: 'Deleted locale',\n        }),\n      });\n\n      setVisible(false);\n    } catch {\n      toggleNotification({\n        type: 'danger',\n        message: formatMessage({\n          id: 'notification.error',\n          defaultMessage: 'An error occurred, please try again',\n        }),\n      });\n    }\n  };\n\n  return (\n    <Dialog.Root open={visible} onOpenChange={setVisible}>\n      <Dialog.Trigger>\n        <IconButton\n          onClick={() => setVisible(true)}\n          label={formatMessage(\n            {\n              id: getTranslation('Settings.list.actions.delete'),\n              defaultMessage: 'Delete {name} locale',\n            },\n            {\n              name,\n            }\n          )}\n          variant=\"ghost\"\n        >\n          <Trash />\n        </IconButton>\n      </Dialog.Trigger>\n      <ConfirmDialog onConfirm={handleConfirm} />\n    </Dialog.Root>\n  );\n};\n\nexport { DeleteLocale };\n"],"names":["DeleteLocale","id","name","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","visible","setVisible","React","useState","deleteLocale","useDeleteLocaleMutation","handleConfirm","res","type","message","error","getTranslation","defaultMessage","_jsxs","Dialog","Root","open","onOpenChange","_jsx","Trigger","IconButton","onClick","label","variant","Trash","ConfirmDialog","onConfirm"],"mappings":";;;;;;;;;AAkBA,MAAMA,eAAe,CAAC,EAAEC,EAAE,EAAEC,IAAI,EAAqB,GAAA;IACnD,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;AAEpD,IAAA,MAAM,CAACC,OAAAA,EAASC,UAAAA,CAAW,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAE7C,MAAM,CAACC,aAAa,GAAGC,uBAAAA,EAAAA;AACvB,IAAA,MAAMC,aAAAA,GAAgB,UAAA;QACpB,IAAI;YACF,MAAMC,GAAAA,GAAM,MAAMH,YAAAA,CAAab,EAAAA,CAAAA;AAE/B,YAAA,IAAI,WAAWgB,GAAAA,EAAK;gBAClBZ,kBAAAA,CAAmB;oBAAEa,IAAAA,EAAM,QAAA;oBAAUC,OAAAA,EAASX,cAAAA,CAAeS,IAAIG,KAAK;AAAE,iBAAA,CAAA;AAExE,gBAAA;AACF,YAAA;YAEAf,kBAAAA,CAAmB;gBACjBa,IAAAA,EAAM,SAAA;AACNC,gBAAAA,OAAAA,EAAShB,aAAAA,CAAc;AACrBF,oBAAAA,EAAAA,EAAIoB,cAAAA,CAAe,uCAAA,CAAA;oBACnBC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;YAEAX,UAAAA,CAAW,KAAA,CAAA;AACb,QAAA,CAAA,CAAE,OAAM;YACNN,kBAAAA,CAAmB;gBACjBa,IAAAA,EAAM,QAAA;AACNC,gBAAAA,OAAAA,EAAShB,aAAAA,CAAc;oBACrBF,EAAAA,EAAI,oBAAA;oBACJqB,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAACC,OAAOC,IAAI,EAAA;QAACC,IAAAA,EAAMhB,OAAAA;QAASiB,YAAAA,EAAchB,UAAAA;;AACxC,0BAAAiB,GAAA,CAACJ,OAAOK,OAAO,EAAA;AACb,gBAAA,QAAA,gBAAAD,GAAA,CAACE,UAAAA,EAAAA;AACCC,oBAAAA,OAAAA,EAAS,IAAMpB,UAAAA,CAAW,IAAA,CAAA;AAC1BqB,oBAAAA,KAAAA,EAAO7B,aAAAA,CACL;AACEF,wBAAAA,EAAAA,EAAIoB,cAAAA,CAAe,8BAAA,CAAA;wBACnBC,cAAAA,EAAgB;qBAClB,EACA;AACEpB,wBAAAA;AACF,qBAAA,CAAA;oBAEF+B,OAAAA,EAAQ,OAAA;AAER,oBAAA,QAAA,gBAAAL,GAAA,CAACM,KAAAA,EAAAA,EAAAA;;;0BAGLN,GAAA,CAACO,aAAAA,EAAAA;gBAAcC,SAAAA,EAAWpB;;;;AAGhC;;;;"}