{"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 Description {\n  id: string;\n  defaultMessage: string;\n  values?: Record<string, any>;\n}\n\ninterface DraftAndPublishToggleProps {\n  description?: Description;\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":";;;;;;;MAgCaA,qBAAwB,GAAA,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,cAAe,CAAA,GAAGC,QAAS,CAAA,KAAA,CAAA;AAC/C,IAAA,MAAMC,KAAQV,GAAAA,SAAAA,CAAUW,EAAE,GACtBN,aACE,CAAA;AAAEM,QAAAA,EAAAA,EAAIX,UAAUW,EAAE;AAAEC,QAAAA,cAAAA,EAAgBZ,UAAUY;KAC9C,EAAA;AAAE,QAAA,GAAGZ,UAAUa;KAEjBX,CAAAA,GAAAA,IAAAA;IAEJ,MAAMY,IAAAA,GAAOhB,cACTO,aACE,CAAA;AAAEM,QAAAA,EAAAA,EAAIb,YAAYa,EAAE;AAAEC,QAAAA,cAAAA,EAAgBd,YAAYc;KAClD,EAAA;AAAE,QAAA,GAAGd,YAAYe;KAEnB,CAAA,GAAA,EAAA;AAEJ,IAAA,MAAME,aAAgB,GAAA,IAAA;QACpBZ,QAAS,CAAA;YAAEa,MAAQ,EAAA;AAAEd,gBAAAA,IAAAA;gBAAME,KAAO,EAAA;AAAM;AAAE,SAAA,CAAA;QAE1CI,cAAe,CAAA,KAAA,CAAA;AACjB,KAAA;AAEA,IAAA,MAAMS,eAAiD,CAACC,OAAAA,GAAAA;QACtD,IAAI,CAACA,OAAW,IAAA,CAACjB,UAAY,EAAA;YAC3BO,cAAe,CAAA,IAAA,CAAA;AAEf,YAAA;AACF;QAEAL,QAAS,CAAA;YAAEa,MAAQ,EAAA;AAAEd,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA,EAAO,CAAC,CAACc;AAAQ;AAAE,SAAA,CAAA;AAChD,KAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAD,IAAA,CAACE,MAAMC,IAAI,EAAA;gBAACR,IAAMA,EAAAA,IAAAA;gBAAMZ,IAAMA,EAAAA,IAAAA;;kCAC5BqB,GAACC,CAAAA,QAAAA,EAAAA;wBAASN,OAASd,EAAAA,KAAAA;wBAAOL,QAAUA,EAAAA,QAAAA;wBAAU0B,eAAiBR,EAAAA,YAAAA;AAC5DP,wBAAAA,QAAAA,EAAAA;;AAEH,kCAAAa,GAAA,CAACF,MAAMK,IAAI,EAAA,EAAA;;;AAGb,0BAAAH,GAAA,CAACI,OAAOL,IAAI,EAAA;gBAACM,IAAMrB,EAAAA,WAAAA;gBAAasB,YAAc,EAAA,CAACC,SAAWtB,cAAesB,CAAAA,MAAAA,CAAAA;AACvE,gBAAA,QAAA,gBAAAP,GAACQ,CAAAA,aAAAA,EAAAA;AACCC,oBAAAA,SAAAA,gBACET,GAACU,CAAAA,MAAAA,EAAAA;wBAAOC,OAASnB,EAAAA,aAAAA;wBAAeoB,OAAQ,EAAA,QAAA;wBAASC,KAAM,EAAA,MAAA;wBAAOC,cAAe,EAAA,QAAA;kCAC1EhC,aAAc,CAAA;AACbM,4BAAAA,EAAAA,EAAI2B,OAAQ,CAAA,2CAAA,CAAA;4BACZ1B,cAAgB,EAAA;AAClB,yBAAA;;8BAIHP,aAAc,CAAA;AACbM,wBAAAA,EAAAA,EAAI2B,OAAQ,CAAA,oCAAA,CAAA;wBACZ1B,cAAgB,EAAA;AAClB,qBAAA;;;;;AAKV;;;;"}