{"version":3,"file":"useLineNotifiers-CIkrikxF.js","sources":["../../../app/javascript/controllers/mixins/useLineNotifiers.js"],"sourcesContent":["export const useLineNotifiers = (controller, { element = null } = {}) => {\n element = element || controller.element\n\n const payload = {\n target: document.querySelector(\"[data-controller*='audience--line']\"),\n prefix: null,\n detail: {\n id: element.dataset.lineId,\n element,\n },\n }\n\n Object.assign(controller, {\n moveLineToThisElement() {\n this.element.setAttribute('data-line-active', true)\n this.dispatch('line:focus', payload)\n },\n disconnectLineFromThisElement() {\n this.dispatch('line:disconnect', payload)\n },\n blurLine() {\n this.element.removeAttribute('data-line-active')\n this.dispatch('line:blur', payload)\n },\n onLineMouseLeave() {\n this.dispatch('line:mouseleave', payload)\n },\n isMouseWithinElement() {\n const rect = element.getBoundingClientRect()\n return rect.left <= window.mouseX && window.mouseX <= rect.right && rect.top <= window.mouseY && window.mouseY <= rect.bottom\n }\n })\n}\n"],"names":["useLineNotifiers","controller","element","payload","rect"],"mappings":"AAAY,MAACA,EAAmB,CAACC,EAAY,CAAE,QAAAC,EAAU,IAAI,EAAK,CAAA,IAAO,CACvEA,EAAUA,GAAWD,EAAW,QAEhC,MAAME,EAAU,CACd,OAAQ,SAAS,cAAc,qCAAqC,EACpE,OAAQ,KACR,OAAQ,CACN,GAAID,EAAQ,QAAQ,OACpB,QAAAA,CACD,CACL,EAEE,OAAO,OAAOD,EAAY,CACxB,uBAAwB,CACtB,KAAK,QAAQ,aAAa,mBAAoB,EAAI,EAClD,KAAK,SAAS,aAAcE,CAAO,CACpC,EACD,+BAAgC,CAC9B,KAAK,SAAS,kBAAmBA,CAAO,CACzC,EACD,UAAW,CACT,KAAK,QAAQ,gBAAgB,kBAAkB,EAC/C,KAAK,SAAS,YAAaA,CAAO,CACnC,EACD,kBAAmB,CACjB,KAAK,SAAS,kBAAmBA,CAAO,CACzC,EACD,sBAAuB,CACrB,MAAMC,EAAOF,EAAQ,sBAAqB,EAC1C,OAAOE,EAAK,MAAQ,OAAO,QAAU,OAAO,QAAUA,EAAK,OAASA,EAAK,KAAO,OAAO,QAAU,OAAO,QAAUA,EAAK,MAC7H,CACG,CAAA,CACH"}