{"version":3,"file":"index-CdDQu2W2.js","sources":["../../../app/assets/javascripts/plugins/vanilla-clickout/index.ts"],"sourcesContent":["\n// Modified from\n// https://stackoverflow.com/a/3028037\n\nfunction onClickOutside(element: HTMLElement, event_handler: (event: Event) => any) {\n if (element == null) {\n throw new Error(\"element == null when `onClickOutside` called\")\n }\n\n const outsideClickListener = (event: Event) => {\n if (!element.contains(event.target as Element) && isVisible(element)) { // or use: event.target.closest(selector) === null\n event_handler(event)\n }\n }\n\n document.addEventListener(\"click\", outsideClickListener)\n}\n\nfunction isVisible(elem: HTMLElement) {\n return !!elem && !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length )\n}\n// source (2018-03-11): https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js\n\nexport {\n onClickOutside,\n}\n"],"names":["onClickOutside","element","event_handler","outsideClickListener","event","isVisible","elem"],"mappings":"AAIA,SAASA,EAAeC,EAAsBC,EAAsC,CAClF,GAAID,GAAW,KACP,MAAA,IAAI,MAAM,8CAA8C,EAG1D,MAAAE,EAAwBC,GAAiB,CACzC,CAACH,EAAQ,SAASG,EAAM,MAAiB,GAAKC,EAAUJ,CAAO,GACjEC,EAAcE,CAAK,CAEvB,EAES,SAAA,iBAAiB,QAASD,CAAoB,CACzD,CAEA,SAASE,EAAUC,EAAmB,CAC7B,MAAA,CAAC,CAACA,GAAQ,CAAC,EAAGA,EAAK,aAAeA,EAAK,cAAgBA,EAAK,eAAA,EAAiB,OACtF"}