{"version":3,"file":"dialog_controller-u1OkbGn4.js","sources":["../../../app/javascript/controllers/dialog_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\";\n\nexport default class Dialog extends Controller {\n  static targets = [\"dialog\"];\n\n  static values = {\n    open: Boolean,\n    id: String\n  };\n\n  initialize() {\n    this.forceClose = this.forceClose.bind(this);\n  }\n\n  connect() {\n    this.updateVisibility();\n\n    document.addEventListener(\"turbo:before-render\", this.forceClose);\n    document.addEventListener(\"dialog:open\", this.handleOpen.bind(this));\n    document.addEventListener(\"dialog:close\", this.handleClose.bind(this));\n  }\n\n  disconnect() {\n    document.removeEventListener(\"turbo:before-render\", this.forceClose);\n    document.removeEventListener(\"dialog:open\", this.handleOpen.bind(this));\n    document.removeEventListener(\"dialog:close\", this.handleClose.bind(this));\n  }\n\n  updateVisibility() {\n    if (this.openValue) {\n      this.open();\n    }\n  }\n\n  handleOpen(event) {\n    if (event.detail.id === this.idValue) {\n      this.open();\n    }\n  }\n\n  handleClose(event) {\n    if (event.detail.id === this.idValue) {\n      this.close();\n    }\n  }\n\n  open() {\n    this.dialogTarget.showModal();\n  }\n\n  close() {\n    this.dialogTarget.setAttribute(\"closing\", \"\");\n\n    Promise.all(\n      this.dialogTarget.getAnimations().map(animation => animation.finished)\n    )\n      .then(() => {\n        this.dialogTarget.removeAttribute(\"closing\");\n        this.dialogTarget.close();\n      })\n      .catch(() => {\n        this.dialogTarget.removeAttribute(\"closing\");\n        this.dialogTarget.close();\n      });\n  }\n\n  backdropClose(event) {\n    if (event.target === this.dialogTarget) {\n      this.close();\n    }\n  }\n\n  forceClose() {\n    this.dialogTarget.close();\n  }\n}\n"],"names":["Dialog","Controller","event","animation","__publicField"],"mappings":"qTAEe,MAAMA,UAAeC,CAAW,CAQ7C,YAAa,CACX,KAAK,WAAa,KAAK,WAAW,KAAK,IAAI,CAC/C,CAEE,SAAU,CACR,KAAK,iBAAkB,EAEvB,SAAS,iBAAiB,sBAAuB,KAAK,UAAU,EAChE,SAAS,iBAAiB,cAAe,KAAK,WAAW,KAAK,IAAI,CAAC,EACnE,SAAS,iBAAiB,eAAgB,KAAK,YAAY,KAAK,IAAI,CAAC,CACzE,CAEE,YAAa,CACX,SAAS,oBAAoB,sBAAuB,KAAK,UAAU,EACnE,SAAS,oBAAoB,cAAe,KAAK,WAAW,KAAK,IAAI,CAAC,EACtE,SAAS,oBAAoB,eAAgB,KAAK,YAAY,KAAK,IAAI,CAAC,CAC5E,CAEE,kBAAmB,CACb,KAAK,WACP,KAAK,KAAM,CAEjB,CAEE,WAAWC,EAAO,CACZA,EAAM,OAAO,KAAO,KAAK,SAC3B,KAAK,KAAM,CAEjB,CAEE,YAAYA,EAAO,CACbA,EAAM,OAAO,KAAO,KAAK,SAC3B,KAAK,MAAO,CAElB,CAEE,MAAO,CACL,KAAK,aAAa,UAAW,CACjC,CAEE,OAAQ,CACN,KAAK,aAAa,aAAa,UAAW,EAAE,EAE5C,QAAQ,IACN,KAAK,aAAa,cAAa,EAAG,IAAIC,GAAaA,EAAU,QAAQ,CAC3E,EACO,KAAK,IAAM,CACV,KAAK,aAAa,gBAAgB,SAAS,EAC3C,KAAK,aAAa,MAAO,CAC1B,CAAA,EACA,MAAM,IAAM,CACX,KAAK,aAAa,gBAAgB,SAAS,EAC3C,KAAK,aAAa,MAAO,CACjC,CAAO,CACP,CAEE,cAAcD,EAAO,CACfA,EAAM,SAAW,KAAK,cACxB,KAAK,MAAO,CAElB,CAEE,YAAa,CACX,KAAK,aAAa,MAAO,CAC7B,CACA,CAxEEE,EADmBJ,EACZ,UAAU,CAAC,QAAQ,GAE1BI,EAHmBJ,EAGZ,SAAS,CACd,KAAM,QACN,GAAI,MACL"}