{"version":3,"file":"drawer_controller-WJsOtWgf.js","sources":["../../../app/javascript/controllers/drawer_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\";\nimport { enter, leave } from \"el-transition\";\n\n// Connects to data-controller=\"drawer\"\nexport default class extends Controller {\n  static targets = [\"container\", \"backdrop\", \"drawer\", \"content\"];\n\n  connect() {\n    this.contentTarget.addEventListener(\n      \"turbo:frame-load\",\n      this.handleFrameLoad.bind(this)\n    );\n\n    this.onEscape = this.onEscape.bind(this);\n    document.addEventListener(\"keydown\", this.onEscape);\n  }\n\n  disconnect() {\n    this.contentTarget.removeEventListener(\n      \"turbo:frame-load\",\n      this.handleFrameLoad.bind(this)\n    );\n\n    document.removeEventListener(\"keydown\", this.onEscape);\n  }\n\n  close() {\n    this.hide();\n  }\n\n  show(e) {\n    const { src, favourites } = e.params;\n\n    enter(this.drawerTarget);\n    enter(this.backdropTarget);\n\n    this.contentTarget.setAttribute(\"src\", src);\n\n    if (favourites) {\n      this.favouritesEnabled = true;\n    }\n\n    this.isOpen = true;\n  }\n\n  hide() {\n    leave(this.drawerTarget);\n    leave(this.backdropTarget);\n    this.isOpen = false;\n\n    setTimeout(() => this.clearTurboFrameContent(), 500); // wait for the transition to finish before removing the element\n  }\n\n  handleFrameLoad() {\n    // Reset favourites for drawers where favourites can be added for Tippy\n    if (this.favouritesEnabled) {\n      window.resetFavourites();\n    }\n  }\n\n  clearTurboFrameContent() {\n    this.contentTarget.removeAttribute(\"src\");\n    this.contentTarget.innerHTML = \"\";\n  }\n\n  onEscape(e) {\n    if (this.isOpen && e.key === \"Escape\") {\n      this.close();\n    }\n  }\n}\n"],"names":["drawer_controller","Controller","src","favourites","enter","leave","__publicField"],"mappings":"oWAIe,MAAKA,UAASC,CAAW,CAGtC,SAAU,CACR,KAAK,cAAc,iBACjB,mBACA,KAAK,gBAAgB,KAAK,IAAI,CAC/B,EAED,KAAK,SAAW,KAAK,SAAS,KAAK,IAAI,EACvC,SAAS,iBAAiB,UAAW,KAAK,QAAQ,CACtD,CAEE,YAAa,CACX,KAAK,cAAc,oBACjB,mBACA,KAAK,gBAAgB,KAAK,IAAI,CAC/B,EAED,SAAS,oBAAoB,UAAW,KAAK,QAAQ,CACzD,CAEE,OAAQ,CACN,KAAK,KAAM,CACf,CAEE,KAAK,EAAG,CACN,KAAM,CAAE,IAAAC,EAAK,WAAAC,CAAY,EAAG,EAAE,OAE9BC,EAAM,KAAK,YAAY,EACvBA,EAAM,KAAK,cAAc,EAEzB,KAAK,cAAc,aAAa,MAAOF,CAAG,EAEtCC,IACF,KAAK,kBAAoB,IAG3B,KAAK,OAAS,EAClB,CAEE,MAAO,CACLE,EAAM,KAAK,YAAY,EACvBA,EAAM,KAAK,cAAc,EACzB,KAAK,OAAS,GAEd,WAAW,IAAM,KAAK,uBAAwB,EAAE,GAAG,CACvD,CAEE,iBAAkB,CAEZ,KAAK,mBACP,OAAO,gBAAiB,CAE9B,CAEE,wBAAyB,CACvB,KAAK,cAAc,gBAAgB,KAAK,EACxC,KAAK,cAAc,UAAY,EACnC,CAEE,SAAS,EAAG,CACN,KAAK,QAAU,EAAE,MAAQ,UAC3B,KAAK,MAAO,CAElB,CACA,CAjEEC,EADkBN,EACX,UAAU,CAAC,YAAa,WAAY,SAAU,SAAS"}