{"version":3,"file":"DraftAndPublishToggle.mjs","sources":["../../../admin/src/components/DraftAndPublishToggle.tsx"],"sourcesContent":["/**\n *\n * DraftAndPublishToggle\n *\n */\n\nimport { useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Checkbox, CheckboxProps, Dialog, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport type { IntlLabel } from '../types';\n\ninterface DraftAndPublishToggleProps {\n  description?: IntlLabel;\n  disabled?: boolean;\n  intlLabel: IntlLabel;\n  isCreating: boolean;\n  name: string;\n  onChange: (value: { target: { name: string; value: boolean } }) => void;\n  value?: boolean;\n}\n\nexport const DraftAndPublishToggle = ({\n  description,\n  disabled = false,\n  intlLabel,\n  isCreating,\n  name,\n  onChange,\n  value = false,\n}: DraftAndPublishToggleProps) => {\n  const { formatMessage } = useIntl();\n  const [showWarning, setShowWarning] = useState(false);\n  const label = intlLabel.id\n    ? formatMessage(\n        { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n        { ...intlLabel.values }\n      )\n    : name;\n\n  const hint = description\n    ? formatMessage(\n        { id: description.id, defaultMessage: description.defaultMessage },\n        { ...description.values }\n      )\n    : '';\n\n  const handleConfirm = () => {\n    onChange({ target: { name, value: false } });\n\n    setShowWarning(false);\n  };\n\n  const handleChange: CheckboxProps['onCheckedChange'] = (checked) => {\n    if (!checked && !isCreating) {\n      setShowWarning(true);\n\n      return;\n    }\n\n    onChange({ target: { name, value: !!checked } });\n  };\n\n  return (\n    <>\n      <Field.Root hint={hint} name={name}>\n        <Checkbox checked={value} disabled={disabled} onCheckedChange={handleChange}>\n          {label}\n        </Checkbox>\n        <Field.Hint />\n      </Field.Root>\n\n      <Dialog.Root open={showWarning} onOpenChange={(isOpen) => setShowWarning(isOpen)}>\n        <ConfirmDialog\n          endAction={\n            <Button onClick={handleConfirm} variant=\"danger\" width=\"100%\" justifyContent=\"center\">\n              {formatMessage({\n                id: getTrad('popUpWarning.draft-publish.button.confirm'),\n                defaultMessage: 'Yes, disable',\n              })}\n            </Button>\n          }\n        >\n          {formatMessage({\n            id: getTrad('popUpWarning.draft-publish.message'),\n            defaultMessage: 'If you disable the draft & publish, your drafts will be deleted.',\n          })}\n        </ConfirmDialog>\n      </Dialog.Root>\n    </>\n  );\n};\n"],"names":["DraftAndPublishToggle","description","disabled","intlLabel","isCreating","name","onChange","value","formatMessage","useIntl","showWarning","setShowWarning","useState","label","id","defaultMessage","values","hint","handleConfirm","target","handleChange","checked","_jsxs","_Fragment","Field","Root","_jsx","Checkbox","onCheckedChange","Hint","Dialog","open","onOpenChange","isOpen","ConfirmDialog","endAction","Button","onClick","variant","width","justifyContent","getTrad"],"mappings":";;;;;;;MA0BaA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,WAAW,KAAK,EAChBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,KAAK,EACc,GAAA;IAC3B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,WAAAA,EAAaC,cAAAA,CAAe,GAAGC,QAAAA,CAAS,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAAA,GAAQV,SAAAA,CAAUW,EAAE,GACtBN,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAAe,EAC7D;AAAE,QAAA,GAAGZ,UAAUa;KAAO,CAAA,GAExBX,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aAAAA,CACE;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAAe,EACjE;AAAE,QAAA,GAAGd,YAAYe;KAAO,CAAA,GAE1B,EAAA;AAEJ,IAAA,MAAME,aAAAA,GAAgB,IAAA;QACpBZ,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAME,KAAAA,EAAO;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAAA,CAAe,KAAA,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAAA,IAAW,CAACjB,UAAAA,EAAY;YAC3BO,cAAAA,CAAe,IAAA,CAAA;AAEf,YAAA;AACF,QAAA;QAEAL,QAAAA,CAAS;YAAEa,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,IAAA,CAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAD,IAAA,CAACE,MAAMC,IAAI,EAAA;gBAACR,IAAAA,EAAMA,IAAAA;gBAAMZ,IAAAA,EAAMA,IAAAA;;kCAC5BqB,GAAA,CAACC,QAAAA,EAAAA;wBAASN,OAAAA,EAASd,KAAAA;wBAAOL,QAAAA,EAAUA,QAAAA;wBAAU0B,eAAAA,EAAiBR,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,GAAA,CAACF,MAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,GAAA,CAACI,OAAOL,IAAI,EAAA;gBAACM,IAAAA,EAAMrB,WAAAA;gBAAasB,YAAAA,EAAc,CAACC,SAAWtB,cAAAA,CAAesB,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,GAAA,CAACQ,aAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,GAAA,CAACU,MAAAA,EAAAA;wBAAOC,OAAAA,EAASnB,aAAAA;wBAAeoB,OAAAA,EAAQ,QAAA;wBAASC,KAAAA,EAAM,MAAA;wBAAOC,cAAAA,EAAe,QAAA;kCAC1EhC,aAAAA,CAAc;AACbM,4BAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,2CAAA,CAAA;4BACZ1B,cAAAA,EAAgB;AAClB,yBAAA;;8BAIHP,aAAAA,CAAc;AACbM,wBAAAA,EAAAA,EAAI2B,OAAAA,CAAQ,oCAAA,CAAA;wBACZ1B,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV;;;;"}