{"version":3,"file":"popover_dropdown_controller-B9O38tsS.js","sources":["../../../app/javascript/entrypoints/controllers/popover_dropdown_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"menu\"];\n\n connect() {\n if (!this.hasMenuTarget) {\n console.warn(\"PopoverDropdown controller: menu target is missing\");\n }\n }\n\n toggle(event) {\n event.preventDefault();\n const button = event.currentTarget;\n const popover = this.menuTarget;\n\n if (!popover.matches(\":popover-open\")) {\n popover.showPopover();\n this.positionPopover(button, popover);\n } else {\n popover.hidePopover();\n }\n }\n\n close() {\n this.menuTarget.hidePopover();\n }\n\n positionPopover(button, popover) {\n const buttonRect = button.getBoundingClientRect();\n const popoverRect = popover.getBoundingClientRect();\n\n popover.style.left = `${buttonRect.left}px`;\n popover.style.top = `${buttonRect.bottom}px`;\n\n // Ensure the popover doesn't go off-screen\n const rightEdge = buttonRect.left + popoverRect.width;\n if (rightEdge > window.innerWidth) {\n popover.style.left = `${window.innerWidth - popoverRect.width - 8}px`;\n }\n }\n}\n"],"names":["popover_dropdown_controller","Controller","event","button","popover","buttonRect","popoverRect","__publicField"],"mappings":"mNAEe,MAAKA,UAASC,CAAW,CAGtC,SAAU,CACH,KAAK,eACR,QAAQ,KAAK,oDAAoD,CAEpE,CAED,OAAOC,EAAO,CACZA,EAAM,eAAc,EACpB,MAAMC,EAASD,EAAM,cACfE,EAAU,KAAK,WAEhBA,EAAQ,QAAQ,eAAe,EAIlCA,EAAQ,YAAW,GAHnBA,EAAQ,YAAW,EACnB,KAAK,gBAAgBD,EAAQC,CAAO,EAIvC,CAED,OAAQ,CACN,KAAK,WAAW,aACjB,CAED,gBAAgBD,EAAQC,EAAS,CAC/B,MAAMC,EAAaF,EAAO,wBACpBG,EAAcF,EAAQ,wBAE5BA,EAAQ,MAAM,KAAO,GAAGC,EAAW,IAAI,KACvCD,EAAQ,MAAM,IAAM,GAAGC,EAAW,MAAM,KAGtBA,EAAW,KAAOC,EAAY,MAChC,OAAO,aACrBF,EAAQ,MAAM,KAAO,GAAG,OAAO,WAAaE,EAAY,MAAQ,CAAC,KAEpE,CACH,CAtCEC,EADkBP,EACX,UAAU,CAAC,MAAM"}