{ "version": 3, "sources": ["node_modules/imba/src/imba/events/helpers.imba"], "sourcesContent": ["export const navigator = new class\n\n\tget ios?\n\t\tlet nav = global.navigator.platform or ''\n\t\treturn true if nav.match(/iPhone|iPod|iPad/)\n\t\treturn true if nav == 'MacIntel' and global.navigator.maxTouchPoints > 2\n\t\treturn false\n\nexport def toElement sel, source\n\tlet el = source\n\t\n\tif sel isa Element\n\t\treturn sel\n\n\tif typeof sel == 'string'\n\t\tif sel == 'this' or sel == ''\n\t\t\treturn el\n\t\telif sel == 'up'\n\t\t\treturn el.parentNode\n\t\telif sel == 'op'\n\t\t\treturn el.offsetParent\n\t\telse\n\t\t\treturn el.closest(sel) or el.querySelector(sel) or global.document.querySelector(sel)\n\t\n\treturn null\n\nexport def parseDimension val\n\tif typeof val == 'string'\n\t\tlet [m,num,unit] = val.match(/^([-+]?[\\d\\.]+)(%|\\w+)$/)\n\t\treturn [parseFloat(num),unit]\n\telif typeof val == 'number'\n\t\treturn [val]\n\nexport def round val,step = 1\n\tlet inv = 1.0 / step\n\tMath.round(val * inv) / inv\n\t\nexport def clamp val,min,max\n\tif min > max\n\t\tMath.max(max,Math.min(min,val))\n\telse\n\t\tMath.min(max,Math.max(min,val))\n\nexport def createScale a0,a1,b0r,b1r,s = 0.1\n\tlet [b0,b0u] = parseDimension(b0r)\n\tlet [b1,b1u] = parseDimension(b1r)\n\tlet [sv,su] = parseDimension(s)\n\t\n\tb0 = (a1 - a0) * (b0 / 100) if b0u == '%'\n\tb1 = (a1 - a0) * (b1 / 100) if b1u == '%'\n\t\n\tsv = (b1 - b0) * (sv / 100) if su == '%'\n\t\n\treturn do(value,fit)\n\t\tlet pct = (value - a0) / (a1 - a0)\n\t\tlet val = b0 + (b1 - b0) * pct\n\t\t# console.log 'scaling',value,[a0,a1],[b0,b1],s,val\n\t\tval = round(val,sv) if s\n\t\tval = clamp(val,b0,b1) if fit\n\t\treturn val"], "mappings": ";AAAa,GAAA,GAAgB,GAAA,MAAK,IAE7B,YAAI,CACH,GAAA,GAAM,WAAO,UAAU,UAAY,GAE3B,MADG,KAAI,MAAM,qBACV,GAAO,YAAe,WAAO,UAAU,eAAiB,KAGlE,WAAc,EAAK,EAAM,CAC3B,GAAA,GAAK,EAET,MAAG,aAAQ,SACH,EAEE,MAAA,IAAO,SACb,GAAO,QAAU,GAAO,GACnB,EACH,GAAO,KACJ,EAAG,WACN,GAAO,KACJ,EAAG,aAEH,EAAG,QAAQ,IAAQ,EAAG,cAAc,IAAQ,WAAO,SAAS,cAAc,GAE5E", "names": [] }