{"version":3,"file":"components-popover.5159f16ab0913d701b7e.js","mappings":"oKAEA,MAAMA,EAAsBC,IACVA,EAAEC,OAAOC,QAAQ,mBAG/BC,SAASC,iBAAiB,kBAAkBC,SAASC,GAAMC,EAAMD,IACnE,EAeIC,EAASC,IACb,MAAMC,EAAQD,EAAQE,WAAWC,cAAe,IAAGH,EAAQI,aAAa,oBAClEC,EAAOL,EAAQN,QAAQ,uBAE7BM,EAAQM,aAAa,gBAAiB,SACtCL,EAAMM,UAAUC,OAAO,aAEnBH,GACFA,EAAKE,UAAUC,OAAO,YACxB,EAGIC,EAAgBjB,IACpB,MAAMQ,EAAUR,EAAEC,OAAOC,QAAQ,kBAEjCgB,MAAMC,KAAKhB,SAASC,iBAAiB,mBAClCgB,QAAQd,GAAMA,IAAME,IACpBH,SAASC,GAAMC,EAAMD,KAEsB,UAA1CE,EAAQI,aAAa,iBA/BbJ,KACZ,MAAMC,EAAQD,EAAQE,WAAWC,cAAe,IAAGH,EAAQI,aAAa,oBAClEC,EAAOL,EAAQN,QAAQ,uBAE7BM,EAAQM,aAAa,gBAAiB,QACtCL,EAAMM,UAAUM,IAAI,aAEhBR,GACFA,EAAKE,UAAUM,IAAI,YACrB,EAuBEC,CAAKd,GAELD,EAAMC,EACR,EAGF,GACEe,KAAM,KACJ,MAAMC,EAAY,CAAC,QAAS,iBAAkBP,GACxCQ,EAAU,CAAC,QAAS,iBAAkBR,IAE5CS,EAAAA,EAAAA,MAAOF,IACPE,EAAAA,EAAAA,MAAOD,IAEPE,EAAAA,EAAAA,OAAMH,IACNG,EAAAA,EAAAA,OAAMF,GAENG,OAAOC,oBAAoB,QAAS9B,GACpC6B,OAAOE,iBAAiB,QAAS/B,EAAmB,E","sources":["webpack://kelberman.org/./themes/app/src/scripts/components/popover.js"],"sourcesContent":["import { on, off } from 'delegated-events'\n\nconst handleClickOutside = (e) => {\n const trigger = e.target.closest('[data-popover]')\n\n if (!trigger) {\n document.querySelectorAll('[data-popover]').forEach((x) => close(x))\n }\n}\n\nconst open = (trigger) => {\n const panel = trigger.parentNode.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n const root = trigger.closest('[data-popover-root]')\n\n trigger.setAttribute('aria-expanded', 'true')\n panel.classList.add('is-active')\n\n if (root) {\n root.classList.add('is-active')\n }\n}\n\nconst close = (trigger) => {\n const panel = trigger.parentNode.querySelector(`#${trigger.getAttribute('aria-controls')}`)\n const root = trigger.closest('[data-popover-root]')\n\n trigger.setAttribute('aria-expanded', 'false')\n panel.classList.remove('is-active')\n\n if (root) {\n root.classList.remove('is-active')\n }\n}\n\nconst handleToggle = (e) => {\n const trigger = e.target.closest('[data-popover]')\n\n Array.from(document.querySelectorAll('[data-popover]'))\n .filter((x) => x !== trigger)\n .forEach((x) => close(x))\n\n if (trigger.getAttribute('aria-expanded') === 'false') {\n open(trigger)\n } else {\n close(trigger)\n }\n}\n\nexport default {\n init: () => {\n const clickArgs = ['click', '[data-popover]', handleToggle]\n const keyArgs = ['keyup', '[data-popover]', handleToggle]\n\n off(...clickArgs)\n off(...keyArgs)\n\n on(...clickArgs)\n on(...keyArgs)\n\n window.removeEventListener('click', handleClickOutside)\n window.addEventListener('click', handleClickOutside)\n },\n}\n"],"names":["handleClickOutside","e","target","closest","document","querySelectorAll","forEach","x","close","trigger","panel","parentNode","querySelector","getAttribute","root","setAttribute","classList","remove","handleToggle","Array","from","filter","add","open","init","clickArgs","keyArgs","off","on","window","removeEventListener","addEventListener"],"sourceRoot":""}