{"version":3,"file":"nyckeltal.min.js","sources":["nyckeltal.js"],"sourcesContent":["$(function () {\r\n var supportsIntersectionObserver = ('IntersectionObserver' in window);\r\n\r\n visaNyckeltalVidScroll();\r\n\r\n function visaNyckeltalVidScroll() {\r\n var nyckeltal = document.getElementById('nyckeltal');\r\n\r\n var options = {\r\n rootMargin: '-20% 0% -20% 0%'\r\n };\r\n\r\n if (!supportsIntersectionObserver || (typeof (nyckeltal) === 'undefined' || nyckeltal === null)) {\r\n return;\r\n }\r\n\r\n initBelopp($('#nyckeltal'));\r\n\r\n /* eslint-disable */\r\n var observer = new IntersectionObserver(function (entries, observer) {\r\n for (var i = 0; i < entries.length; i++) {\r\n if (entries[i].isIntersecting) {\r\n intersectionHandler(entries[i]);\r\n }\r\n }\r\n }, options);\r\n /* eslint-enable */\r\n\r\n observer.observe(nyckeltal);\r\n\r\n function intersectionHandler(entry) {\r\n var section = $('#' + entry.target.id);\r\n if (section.length && !section.hasClass('active')) {\r\n animateBelopp(section);\r\n }\r\n }\r\n }\r\n\r\n function initBelopp(section) {\r\n var numbers = section.find('.belopp');\r\n if (numbers.length) {\r\n numbers.each(function () {\r\n var belopp = $(this);\r\n var start = belopp.data('startbelopp');\r\n if (start) {\r\n belopp.text(start.toLocaleString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n function animateBelopp(section) {\r\n var numbers = section.find('.belopp');\r\n if (numbers.length && !numbers.hasClass('animate')) {\r\n numbers.each(function () {\r\n var belopp = $(this);\r\n var start = belopp.data('startbelopp');\r\n var end = belopp.data('slutbelopp');\r\n if (start && end && !belopp.hasClass('animate')) {\r\n belopp.addClass('animate');\r\n animateValue(belopp, start, end, 1200);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function animateValue(obj, start, end, duration) {\r\n if (isFloat(end)) {\r\n obj.prop('Counter', start).animate({\r\n Counter: end\r\n }, {\r\n duration: duration,\r\n step: function (n) {\r\n obj.text(((Math.round(n * 10) / 10).toLocaleString(undefined, {\r\n minimumFractionDigits: 1,\r\n maximumFractionDigits: 1\r\n })));\r\n },\r\n complete: function () {\r\n obj.text(hanteraTusental(obj.text()));\r\n }\r\n });\r\n } else if (isInt(end)) {\r\n obj.prop('Counter', start).animate({\r\n Counter: end\r\n }, {\r\n duration: duration,\r\n step: function (n) {\r\n obj.text(Math.ceil(n)).toLocaleString();\r\n },\r\n complete: function () {\r\n obj.text(hanteraTusental(obj.text()));\r\n }\r\n });\r\n }\r\n }\r\n\r\n function isInt(n) {\r\n return String(n).indexOf('.') < 0;\r\n }\r\n\r\n function isFloat(n) {\r\n return String(n).indexOf('.') > -1;\r\n }\r\n\r\n function hanteraTusental(nr) {\r\n var str = nr.toString().replace(/\\s+/g, '');\r\n var komma = str.indexOf(',');\r\n var result = komma < 0 ? str : str.slice(0, komma);\r\n\r\n for (var i = result.length - 3; i > 0; i -= 3) {\r\n result = result.slice(0, i) + ' ' + result.slice(i);\r\n }\r\n\r\n if (komma > -1) {\r\n result += str.slice(komma);\r\n }\r\n return result;\r\n }\r\n});\r\n"],"names":["$","supportsIntersectionObserver","window","nyckeltal","document","getElementById","hanteraTusental","nr","str","toString","replace","komma","indexOf","result","slice","i","length","numbers","section","find","each","belopp","this","start","data","text","toLocaleString","IntersectionObserver","entries","observer","isIntersecting","entry","intersectionHandler","target","id","hasClass","animateBelopp","obj","end","addClass","duration","isFloat","n","String","prop","animate","Counter","step","Math","ceil","complete","round","undefined","minimumFractionDigits","maximumFractionDigits","rootMargin","observe"],"mappings":"AAAAA,EAAE,WACE,IAAIC,EAAgC,yBAA0BC,OAKtDC,EAAYC,SAASC,eAAe,WAAW,EAmGvD,SAASC,EAAgBC,GAKrB,IAJA,IAAIC,EAAMD,EAAGE,SAAS,EAAEC,QAAQ,OAAQ,EAAE,EACtCC,EAAQH,EAAII,QAAQ,GAAG,EACvBC,EAASF,EAAQ,EAAIH,EAAMA,EAAIM,MAAM,EAAGH,CAAK,EAExCI,EAAIF,EAAOG,OAAS,EAAO,EAAJD,EAAOA,GAAK,EACxCF,EAASA,EAAOC,MAAM,EAAGC,CAAC,EAAI,IAAMF,EAAOC,MAAMC,CAAC,EAMtD,MAHY,CAAC,EAATJ,IACAE,GAAUL,EAAIM,MAAMH,CAAK,GAEtBE,CACX,CA1GSZ,GAAgC,MAAQ,KA2BzCgB,GADYC,EAtBLlB,EAAE,YAAY,GAuBHmB,KAAK,SAAS,GACxBH,QACRC,EAAQG,KAAK,WACT,IAAIC,EAASrB,EAAEsB,IAAI,EACfC,EAAQF,EAAOG,KAAK,aAAa,EACjCD,GACAF,EAAOI,KAAKF,EAAMG,eAAe,CAAC,CAE1C,CAAC,EA5BU,IAAIC,qBAAqB,SAAUC,EAASC,GACvD,IAAK,IAAId,EAAI,EAAGA,EAAIa,EAAQZ,OAAQD,CAAC,GACjC,GAAIa,EAAQb,GAAGe,eAAgB,CASVC,EAAAA,KAAAA,EARjBC,IAQiBD,EARGH,EAAQb,GAUpC,IADIG,EAAUlB,EAAE,IAAM+B,EAAME,OAAOC,EAAE,GACzBlB,QAAU,CAACE,EAAQiB,SAAS,QAAQ,EAC5CC,CAkBWlB,EAAAA,KAAAA,EAlBXkB,IAkBWlB,EAlBGA,EAmBlBD,EAAUC,EAAQC,KAAK,SAAS,EAChCF,EAAQD,QAAU,CAACC,EAAQkB,SAAS,SAAS,GAC7ClB,EAAQG,KAAK,WACT,IAWUiB,EAXNhB,EAASrB,EAAEsB,IAAI,EACfC,EAAQF,EAAOG,KAAK,aAAa,EACjCc,EAAMjB,EAAOG,KAAK,YAAY,EAC9BD,GAASe,GAAO,CAACjB,EAAOc,SAAS,SAAS,IAC1Cd,EAAOkB,SAAS,SAAS,EAOnBF,EANOhB,EAMFE,EANUA,EAMEiB,EANU,KAOzCC,CAkCR,SAAiBC,GACb,MAAgC,CAAC,EAA1BC,OAAOD,CAAC,EAAE9B,QAAQ,GAAG,CAChC,EArCkC0B,EANUA,CAOzB,EA8BnB,SAAeI,GACX,OAAOC,OAAOD,CAAC,EAAE9B,QAAQ,GAAG,EAAI,CACpC,EAjBqB0B,CAAG,GAChBD,EAAIO,KAAK,UAAWrB,CAAK,EAAEsB,QAAQ,CAC/BC,QAASR,CACb,EAAG,CACCE,SAAUA,EACVO,KAAM,SAAUL,GACZL,EAAIZ,KAAKuB,KAAKC,KAAKP,CAAC,CAAC,EAAEhB,eAAe,CAC1C,EACAwB,SAAU,WACNb,EAAIZ,KAAKnB,EAAgB+B,EAAIZ,KAAK,CAAC,CAAC,CACxC,CACJ,CAAC,EAzBDY,EAAIO,KAAK,UAAWrB,CAAK,EAAEsB,QAAQ,CAC/BC,QAASR,CACb,EAAG,CACCE,SAAUA,EACVO,KAAM,SAAUL,GACZL,EAAIZ,MAAOuB,KAAKG,MAAU,GAAJT,CAAM,EAAI,IAAIhB,eAAe0B,KAAAA,EAAW,CAC1DC,sBAAuB,EACvBC,sBAAuB,CAC3B,CAAE,CAAC,CACP,EACAJ,SAAU,WACNb,EAAIZ,KAAKnB,EAAgB+B,EAAIZ,KAAK,CAAC,CAAC,CACxC,CACJ,CAAC,EAnBD,CAAC,CA7BwB,CAVrB,CAER,EAjBc,CACV8B,WAAY,iBAChB,CAeU,EAGDC,QAAQrD,CAAS,EA2FlC,CAAC"}