File: /home/imensosw/.trash/node_modules/v-click-outside/dist/v-click-outside.min.min.umd.js.map
{"version":3,"file":"v-click-outside.min.min.umd.js","sources":["../src/v-click-outside.js","../src/index.js"],"sourcesContent":["const HANDLERS_PROPERTY = '__v-click-outside'\nconst HAS_WINDOWS = typeof window !== 'undefined'\nconst HAS_NAVIGATOR = typeof navigator !== 'undefined'\nconst IS_TOUCH =\n HAS_WINDOWS && ('ontouchstart' in window || (HAS_NAVIGATOR && navigator.msMaxTouchPoints > 0))\nconst EVENTS = IS_TOUCH ? ['touchstart'] : ['click']\n\nfunction processDirectiveArguments(bindingValue) {\n const isFunction = typeof bindingValue === 'function'\n if (!isFunction && typeof bindingValue !== 'object') {\n throw new Error('v-click-outside: Binding value must be a function or an object')\n }\n\n return {\n handler: isFunction ? bindingValue : bindingValue.handler,\n middleware: bindingValue.middleware || ((item) => item),\n events: bindingValue.events || EVENTS,\n isActive: !(bindingValue.isActive === false),\n }\n}\n\nfunction onEvent({ el, event, handler, middleware }) {\n const isClickOutside = event.target !== el && !el.contains(event.target)\n\n if (!isClickOutside) {\n return\n }\n\n if (middleware(event, el)) {\n handler(event, el)\n }\n}\n\nfunction bind(el, { value }) {\n const { events, handler, middleware, isActive } = processDirectiveArguments(value)\n if (!isActive) {\n return\n }\n\n el[HANDLERS_PROPERTY] = events.map((eventName) => ({\n event: eventName,\n handler: (event) => onEvent({ event, el, handler, middleware }),\n }))\n\n el[HANDLERS_PROPERTY].forEach(({ event, handler }) =>\n setTimeout(() => document.documentElement.addEventListener(event, handler, false), 0),\n )\n}\n\nfunction unbind(el) {\n const handlers = el[HANDLERS_PROPERTY] || []\n handlers.forEach(({ event, handler }) =>\n document.documentElement.removeEventListener(event, handler, false),\n )\n delete el[HANDLERS_PROPERTY]\n}\n\nfunction update(el, { value, oldValue }) {\n if (JSON.stringify(value) === JSON.stringify(oldValue)) {\n return\n }\n unbind(el)\n bind(el, { value })\n}\n\nexport default {\n bind,\n update,\n unbind,\n}\n","import directive from './v-click-outside'\n\nconst plugin = {\n install(Vue) {\n Vue.directive('click-outside', directive)\n },\n directive,\n}\n\nexport default plugin\n"],"names":["const","HANDLERS_PROPERTY","HAS_WINDOWS","window","HAS_NAVIGATOR","navigator","EVENTS","msMaxTouchPoints","bind","el","ref","bindingValue","isFunction","Error","handler","middleware","item","events","isActive","processDirectiveArguments","map","eventName","event","target","contains","onEvent","forEach","setTimeout","document","documentElement","addEventListener","unbind","removeEventListener","JSON","stringify","value","oldValue","install","Vue","directive"],"mappings":"iLAAAA,IAAMC,EAAoB,oBACpBC,EAAgC,oBAAXC,OACrBC,EAAqC,oBAAdC,UAGvBC,EADJJ,IAAgB,iBAAkBC,QAAWC,GAAiBC,UAAUE,iBAAmB,GACnE,CAAC,cAAgB,CAAC,SA4B5C,SAASC,EAAKC,EAAIC,SA1BlB,SAAmCC,OAC3BC,EAAqC,mBAAjBD,MACrBC,GAAsC,iBAAjBD,QAClB,IAAIE,MAAM,wEAGX,CACLC,QAASF,EAAaD,EAAeA,EAAaG,QAClDC,WAAYJ,EAAaI,qBAAgBC,UAASA,GAClDC,OAAQN,EAAaM,QAAUX,EAC/BY,YAAsC,IAA1BP,EAAaO,WAiBuBC,kDAKlDV,EAAGR,YAA4BmB,aAAKC,UAClCC,MAAOD,EACPP,iBAAUQ,UApBd,SAAiBZ,mDACQY,EAAMC,SAAWd,IAAOA,EAAGe,SAASF,EAAMC,SAM7DR,EAAWO,EAAOb,IACpBK,EAAQQ,EAAOb,GAYKgB,CAAQ,OAAEH,KAAOb,UAAIK,aAASC,QAGpDN,EAAGR,GAAmByB,iBAAShB,oCAC7BiB,6BAAiBC,SAASC,gBAAgBC,iBAAiBR,EAAOR,GAAS,IAAQ,MAIvF,SAASiB,EAAOtB,IACGA,EAAGR,IAAsB,IACjCyB,iBAAShB,UAChBkB,SAASC,gBAAgBG,uCAAoC,YAExDvB,EAAGR,SAWG,MACbO,SATF,SAAgBC,EAAIC,8BACduB,KAAKC,UAAUC,KAAWF,KAAKC,UAAUE,KAG7CL,EAAOtB,GACPD,EAAKC,EAAI,OAAE0B,aAMXJ,SClEa,CACbM,iBAAQC,GACNA,EAAIC,UAAU,gBAAiBA,cAEjCA"}