{"version":3,"file":"delete-button.cjs","sources":["../../src/buttons/delete-button.ts"],"sourcesContent":["import { useState, ReactNode } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { Intent, Button, ButtonProps, Alert } from \"@blueprintjs/core\";\n\ninterface P extends ButtonProps {\n  handleDelete(): void;\n  alertContent?: ReactNode;\n  itemDescription?: ReactNode;\n}\n\nfunction DeleteButton(props: P) {\n  let {\n    handleDelete = () => {},\n    alertContent,\n    itemDescription = \"this item\",\n    ...rest\n  } = props;\n  const [alertIsShown, setIsShown] = useState(false);\n\n  alertContent =\n    alertContent ??\n    h([\"Are you sure you want to delete \", itemDescription, \"?\"]);\n\n  const onCancel = (e) => {\n    setIsShown(false);\n    e.stopPropagation();\n  };\n\n  const onClick = (e) => {\n    setIsShown(true);\n    e.stopPropagation();\n  };\n\n  const intent = Intent.DANGER;\n  const icon = \"trash\";\n\n  return h([\n    h(Button, { onClick, icon, intent, ...rest }),\n    h(\n      Alert,\n      {\n        isOpen: alertIsShown,\n        cancelButtonText: \"Cancel\",\n        confirmButtonText: \"Delete\",\n        icon,\n        intent,\n        onCancel,\n        onConfirm: (e) => {\n          handleDelete();\n          onCancel(e);\n        },\n      },\n      alertContent,\n    ),\n  ]);\n}\n\nexport { DeleteButton };\n"],"names":["useState","h","Intent","Button","Alert"],"mappings":";;;;;;;AAUA,SAAS,aAAa,OAAU;AAC9B,MAAI;AAAA,IACF,eAAe,MAAM;AAAA,IAAC;AAAA,IACtB;AAAA,IACA,kBAAkB;AAAA,IAClB,GAAG;AAAA,EAAA,IACD;AACJ,QAAM,CAAC,cAAc,UAAU,IAAIA,MAAAA,SAAS,KAAK;AAEjD,iBACE,gBACAC,WAAAA,QAAE,CAAC,oCAAoC,iBAAiB,GAAG,CAAC;AAE9D,QAAM,WAAW,CAAC,MAAM;AACtB,eAAW,KAAK;AAChB,MAAE,gBAAA;AAAA,EACJ;AAEA,QAAM,UAAU,CAAC,MAAM;AACrB,eAAW,IAAI;AACf,MAAE,gBAAA;AAAA,EACJ;AAEA,QAAM,SAASC,KAAAA,OAAO;AACtB,QAAM,OAAO;AAEb,SAAOD,mBAAE;AAAA,IACPA,WAAAA,QAAEE,KAAAA,QAAQ,EAAE,SAAS,MAAM,QAAQ,GAAG,MAAM;AAAA,IAC5CF,WAAAA;AAAAA,MACEG,KAAAA;AAAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,mBAAmB;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,CAAC,MAAM;AAChB,uBAAA;AACA,mBAAS,CAAC;AAAA,QACZ;AAAA,MAAA;AAAA,MAEF;AAAA,IAAA;AAAA,EACF,CACD;AACH;;"}