vue-countup-directive
Version:
Vue Directive that creates a countup animation
1 lines • 15.6 kB
Source Map (JSON)
{"version":3,"sources":["../node_modules/countup.js/dist/countUp.min.js","counter.js","handleCounter.js","onWindowScroll.js","onClassChange.js","index.js"],"names":["startValue","endValue","el","options","decimals","duration","counter","CountUpJS","error","console","start","condition","once","innerTextIsStartValue","innerText","toString","innerTextIsEndValue","getElOffsetY","position","getBoundingClientRect","top","document","body","isNaN","watchedElId","watchedElement","getElementById","watchedElementPosition","window","addEventListener","listener","scrollY","Math","ceil","removeEventListener","expectedClass","watchedEl","interval","setInterval","classList","className","split","indexOf","clearInterval","LISTENERS","onWindowScroll","onClassChange","bindingValuesAreEquals","oldValue","value","JSON","stringify","executeCounter","verifyBindingUpdate","arg","modifiers","oldvalue","Error","inserted","binding","componentUpdated"],"mappings":"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","file":"index.map","sourceRoot":"../src","sourcesContent":["!function(a,n){\"function\"==typeof define&&define.amd?define(n):\"object\"==typeof exports?module.exports=n(require,exports,module):a.CountUp=n()}(this,function(a,n,t){var e=function(a,n,t,e,i,r){function o(a){var n,t,e,i,r,o,s=a<0;if(a=Math.abs(a).toFixed(l.decimals),a+=\"\",n=a.split(\".\"),t=n[0],e=n.length>1?l.options.decimal+n[1]:\"\",l.options.useGrouping){for(i=\"\",r=0,o=t.length;r<o;++r)0!==r&&r%3===0&&(i=l.options.separator+i),i=t[o-r-1]+i;t=i}return l.options.numerals.length&&(t=t.replace(/[0-9]/g,function(a){return l.options.numerals[+a]}),e=e.replace(/[0-9]/g,function(a){return l.options.numerals[+a]})),(s?\"-\":\"\")+l.options.prefix+t+e+l.options.suffix}function s(a,n,t,e){return t*(-Math.pow(2,-10*a/e)+1)*1024/1023+n}function u(a){return\"number\"==typeof a&&!isNaN(a)}var l=this;if(l.version=function(){return\"1.9.3\"},l.options={useEasing:!0,useGrouping:!0,separator:\",\",decimal:\".\",easingFn:s,formattingFn:o,prefix:\"\",suffix:\"\",numerals:[]},r&&\"object\"==typeof r)for(var m in l.options)r.hasOwnProperty(m)&&null!==r[m]&&(l.options[m]=r[m]);\"\"===l.options.separator?l.options.useGrouping=!1:l.options.separator=\"\"+l.options.separator;for(var d=0,c=[\"webkit\",\"moz\",\"ms\",\"o\"],f=0;f<c.length&&!window.requestAnimationFrame;++f)window.requestAnimationFrame=window[c[f]+\"RequestAnimationFrame\"],window.cancelAnimationFrame=window[c[f]+\"CancelAnimationFrame\"]||window[c[f]+\"CancelRequestAnimationFrame\"];window.requestAnimationFrame||(window.requestAnimationFrame=function(a,n){var t=(new Date).getTime(),e=Math.max(0,16-(t-d)),i=window.setTimeout(function(){a(t+e)},e);return d=t+e,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(a){clearTimeout(a)}),l.initialize=function(){return!!l.initialized||(l.error=\"\",l.d=\"string\"==typeof a?document.getElementById(a):a,l.d?(l.startVal=Number(n),l.endVal=Number(t),u(l.startVal)&&u(l.endVal)?(l.decimals=Math.max(0,e||0),l.dec=Math.pow(10,l.decimals),l.duration=1e3*Number(i)||2e3,l.countDown=l.startVal>l.endVal,l.frameVal=l.startVal,l.initialized=!0,!0):(l.error=\"[CountUp] startVal (\"+n+\") or endVal (\"+t+\") is not a number\",!1)):(l.error=\"[CountUp] target is null or undefined\",!1))},l.printValue=function(a){var n=l.options.formattingFn(a);\"INPUT\"===l.d.tagName?this.d.value=n:\"text\"===l.d.tagName||\"tspan\"===l.d.tagName?this.d.textContent=n:this.d.innerHTML=n},l.count=function(a){l.startTime||(l.startTime=a),l.timestamp=a;var n=a-l.startTime;l.remaining=l.duration-n,l.options.useEasing?l.countDown?l.frameVal=l.startVal-l.options.easingFn(n,0,l.startVal-l.endVal,l.duration):l.frameVal=l.options.easingFn(n,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.frameVal=l.startVal-(l.startVal-l.endVal)*(n/l.duration):l.frameVal=l.startVal+(l.endVal-l.startVal)*(n/l.duration),l.countDown?l.frameVal=l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal=l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),n<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},l.start=function(a){l.initialize()&&(l.callback=a,l.rAF=requestAnimationFrame(l.count))},l.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},l.reset=function(){l.paused=!1,delete l.startTime,l.initialized=!1,l.initialize()&&(cancelAnimationFrame(l.rAF),l.printValue(l.startVal))},l.update=function(a){if(l.initialize()){if(a=Number(a),!u(a))return void(l.error=\"[CountUp] update() - new endVal is not a number: \"+a);l.error=\"\",a!==l.frameVal&&(cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=a,l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count))}},l.initialize()&&l.printValue(l.startVal)};return e});","import CountUpJS from 'countup.js'\n\nexport default ({ startValue = 0, endValue, el, options = {} }) => {\n const { decimals = 0, duration = 2 } = options\n const counter = new CountUpJS(\n el,\n startValue,\n endValue,\n decimals,\n duration,\n options\n )\n\n if (!counter.error) {\n counter.start()\n } else {\n console.error(counter.error)\n }\n}\n","import countUp from './counter'\n\nexport default ({ condition, startValue = 0, endValue, el, once, options }) => {\n const innerTextIsStartValue = el.innerText === startValue.toString()\n const innerTextIsEndValue = el.innerText === endValue.toString()\n\n if (condition && innerTextIsStartValue) {\n countUp({ startValue, endValue, el, options })\n } else if (!once && innerTextIsEndValue) {\n el.innerText = startValue\n }\n}\n","import handleCountUp from './handleCounter'\n\nexport const getElOffsetY = (el) => {\n const { top } = el ? el.getBoundingClientRect() : {}\n const bodyTop = document.body.getBoundingClientRect().top\n const position = top + bodyTop\n\n return position && !isNaN(position) ? position : null\n}\n\nexport default ({ once, startValue = 0, endValue, el, watchedElId, options }) => {\n const watchedElement = watchedElId ? document.getElementById(watchedElId) : el\n const watchedElementPosition = getElOffsetY(watchedElement)\n\n window.addEventListener('scroll', function listener() {\n const condition = window.scrollY >= Math.ceil(watchedElementPosition)\n handleCountUp({\n condition,\n el,\n once,\n endValue,\n startValue,\n options\n })\n if (condition && once) {\n window.removeEventListener('scroll', listener)\n }\n })\n}\n","import handleCountUp from './handleCounter'\n\nexport default ({ once, watchedElId, expectedClass, el, endValue, startValue, options }) => {\n const watchedEl = watchedElId ? document.getElementById(watchedElId) : el\n\n const interval = setInterval(() => {\n const classList = watchedEl.className.split(' ')\n const condition = classList.indexOf(expectedClass) !== -1\n\n handleCountUp({\n condition,\n el,\n once,\n endValue,\n startValue,\n options\n })\n\n if (condition && once) {\n clearInterval(interval)\n }\n }, 100)\n}\n","import counter from './counter'\nimport onWindowScroll from './onWindowScroll'\nimport onClassChange from './onClassChange'\n\nexport const LISTENERS = {\n onWindowScroll: 'onWindowScroll',\n onClassChange: 'onClassChange'\n}\n\nconst bindingValuesAreEquals = ({ oldValue, value }) => (\n JSON.stringify(oldValue) === JSON.stringify(value)\n)\n\nconst executeCounter = (el, verifyBindingUpdate = false) => ({ arg, value, oldValue, modifiers = {} }) => {\n if (verifyBindingUpdate && bindingValuesAreEquals({ value, oldvalue })) {\n return\n }\n\n const { once } = modifiers\n\n if (value) {\n const { startValue = 0, endValue, watchedElId, options } = value\n el.innerText = startValue\n\n switch (arg) {\n case LISTENERS.onWindowScroll:\n onWindowScroll({ once, el, watchedElId, endValue, startValue, options })\n break\n case LISTENERS.onClassChange:\n const { expectedClass } = value\n\n onClassChange({ once, watchedElId, expectedClass, el, endValue, startValue, options })\n break\n default:\n counter({ startValue, endValue, el, options })\n }\n } else {\n throw new Error('Pass a value to CountUp directive')\n }\n}\n\nexport default {\n inserted(el, binding) {\n executeCounter(el)(binding)\n },\n componentUpdated (el, binding) {\n executeCounter(el, true)(binding)\n }\n}\n"]}