{"version":3,"file":"ui/thirdparty/npm.create-point-cb.c2b60031b369bb74eb5f.js","mappings":"4FAEA,IAAIA,EAAW,EAAQ,OAwFvBC,EAAOC,QAtFP,SAAuBC,EAAQC,GAY3BA,EAAUA,GAAW,CAAC,EAEtB,IAAIC,EAAcL,EAASM,QAAQF,EAAQC,aAAa,GAQxD,OAAO,SAAiBE,GAOpB,GALAA,EAAQA,GAASC,OAAOD,MACxBJ,EAAOM,OAASF,EAAME,QAAUF,EAAMG,YAAcH,EAAMI,eAC1DR,EAAOS,QAAUC,KACjBV,EAAOW,KAAOP,EAAMO,KAEfT,EAAYE,GAAjB,CAOA,GAAIA,EAAMQ,cACNZ,EAAOa,EAAIT,EAAMQ,cAAc,GAAGE,QAClCd,EAAOe,EAAIX,EAAMQ,cAAc,GAAGI,QAClChB,EAAOiB,MAAQb,EAAMQ,cAAc,GAAGK,MACtCjB,EAAOkB,MAAQd,EAAMQ,cAAc,GAAGM,MACtClB,EAAOmB,QAAUf,EAAMQ,cAAc,GAAGO,QACxCnB,EAAOoB,QAAUhB,EAAMQ,cAAc,GAAGQ,YACrC,CAOH,GAAoB,OAAhBhB,EAAMa,OAAoC,OAAlBb,EAAMU,QAAkB,CAChD,IAAIO,EAAWjB,EAAME,QAAUF,EAAME,OAAOgB,eAAiBC,SACzDC,EAAMH,EAASI,gBACfC,EAAOL,EAASK,KAEpB1B,EAAOiB,MAAQb,EAAMU,SAAWU,GAAOA,EAAIG,YAAcD,GAAQA,EAAKC,YAAc,IAAMH,GAAOA,EAAII,YAAcF,GAAQA,EAAKE,YAAc,GAC9I5B,EAAOkB,MAAQd,EAAMY,SAAWQ,GAAOA,EAAIK,WAAaH,GAAQA,EAAKG,WAAa,IAAML,GAAOA,EAAIM,WAAaJ,GAAQA,EAAKI,WAAa,EAC9I,MACI9B,EAAOiB,MAAQb,EAAMa,MACrBjB,EAAOkB,MAAQd,EAAMc,MAQzBlB,EAAOa,EAAIT,EAAMU,QACjBd,EAAOe,EAAIX,EAAMY,QAEjBhB,EAAOmB,QAAUf,EAAMe,QACvBnB,EAAOoB,QAAUhB,EAAMgB,OAC3B,CAEApB,EAAOc,QAAUd,EAAOa,EACxBb,EAAOgB,QAAUhB,EAAOe,CA5CxB,CA6CJ,CAGJ,C","sources":["webpack://apps/./node_modules/create-point-cb/dist/bundle.js"],"sourcesContent":["'use strict';\n\nvar typeFunc = require('type-func');\n\nfunction createPointCB(object, options) {\n\n // A persistent object (as opposed to returned object) is used to save memory\n // This is good to prevent layout thrashing, or for games, and such\n\n // NOTE\n // This uses IE fixes which should be OK to remove some day. :)\n // Some speed will be gained by removal of these.\n\n // pointCB should be saved in a variable on return\n // This allows the usage of element.removeEventListener\n\n options = options || {};\n\n var allowUpdate = typeFunc.boolean(options.allowUpdate, true);\n\n /*if(typeof options.allowUpdate === 'function'){\n allowUpdate = options.allowUpdate;\n }else{\n allowUpdate = function(){return true;};\n }*/\n\n return function pointCB(event) {\n\n event = event || window.event; // IE-ism\n object.target = event.target || event.srcElement || event.originalTarget;\n object.element = this;\n object.type = event.type;\n\n if (!allowUpdate(event)) {\n return;\n }\n\n // Support touch\n // http://www.creativebloq.com/javascript/make-your-site-work-touch-devices-51411644\n\n if (event.targetTouches) {\n object.x = event.targetTouches[0].clientX;\n object.y = event.targetTouches[0].clientY;\n object.pageX = event.targetTouches[0].pageX;\n object.pageY = event.targetTouches[0].pageY;\n object.screenX = event.targetTouches[0].screenX;\n object.screenY = event.targetTouches[0].screenY;\n } else {\n\n // If pageX/Y aren't available and clientX/Y are,\n // calculate pageX/Y - logic taken from jQuery.\n // (This is to support old IE)\n // NOTE Hopefully this can be removed soon.\n\n if (event.pageX === null && event.clientX !== null) {\n var eventDoc = event.target && event.target.ownerDocument || document;\n var doc = eventDoc.documentElement;\n var body = eventDoc.body;\n\n object.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n object.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n } else {\n object.pageX = event.pageX;\n object.pageY = event.pageY;\n }\n\n // pageX, and pageY change with page scroll\n // so we're not going to use those for x, and y.\n // NOTE Most browsers also alias clientX/Y with x/y\n // so that's something to consider down the road.\n\n object.x = event.clientX;\n object.y = event.clientY;\n\n object.screenX = event.screenX;\n object.screenY = event.screenY;\n }\n\n object.clientX = object.x;\n object.clientY = object.y;\n };\n\n //NOTE Remember accessibility, Aria roles, and labels.\n}\n\n/*\ngit remote add origin https://github.com/hollowdoor/create_point_cb.git\ngit push -u origin master\n*/\n\nmodule.exports = createPointCB;\n//# sourceMappingURL=bundle.js.map\n"],"names":["typeFunc","module","exports","object","options","allowUpdate","boolean","event","window","target","srcElement","originalTarget","element","this","type","targetTouches","x","clientX","y","clientY","pageX","pageY","screenX","screenY","eventDoc","ownerDocument","document","doc","documentElement","body","scrollLeft","clientLeft","scrollTop","clientTop"],"sourceRoot":""}