!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.HSCounter=t():e.HSCounter=t()}(window,function(){return d={"./src/js/hs-counter.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return HSCounter; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\r\n* HSCounter Plugin\r\n* @version: 2.0.0 (Mon, 25 Nov 2019)\r\n* @requires: jQuery v3.0 or later, appear.js v1.0.3\r\n* @author: HtmlStream\r\n* @event-namespace: .HSCounter\r\n* @license: Htmlstream Libraries (https://htmlstream.com/)\r\n* Copyright 2019 Htmlstream\r\n*/\nvar HSCounter = /*#__PURE__*/function () {\n function HSCounter(el, settings) {\n _classCallCheck(this, HSCounter);\n\n this.$el = typeof el === "string" ? document.querySelector(el) : el;\n this.defaults = {\n bounds: -100,\n debounce: 10,\n time: 2000,\n fps: 60,\n isCommaSeparated: false,\n isReduceThousandsTo: false,\n intervalId: null\n };\n this.dataSettings = this.$el.hasAttribute(\'data-hs-counter-options\') ? JSON.parse(this.$el.getAttribute(\'data-hs-counter-options\')) : {};\n this.settings = Object.assign({}, this.defaults, this.dataSettings, settings);\n }\n\n _createClass(HSCounter, [{\n key: "init",\n value: function init() {\n var _this = this;\n\n var appearSettings = {\n init: function init() {\n var value = parseInt(_this.$el.textContent, 10);\n _this.$el.innerHTML = \'0\';\n\n _this.$el.setAttribute(\'data-value\', value);\n },\n elements: function elements() {\n return [_this.$el];\n },\n appear: function appear(innerEl) {\n var $item = innerEl,\n counter = 1,\n endValue = $item.getAttribute(\'data-value\'),\n iterationValue = parseInt(endValue / (_this.settings.time / _this.settings.fps), 10);\n\n if (iterationValue === 0) {\n iterationValue = 1;\n }\n\n $item.data = {\n intervalId: setInterval(function () {\n if (_this.settings.isCommaSeparated) {\n $item.innerHTML = _this._getCommaSeparatedValue(counter += iterationValue);\n } else if (_this.settings.isReduceThousandsTo) {\n $item.innerHTML = _this._getCommaReducedValue(counter += iterationValue, _this.settings.isReduceThousandsTo);\n } else {\n $item.innerHTML = counter += iterationValue;\n }\n\n if (counter > endValue) {\n clearInterval($item.data.intervalId);\n\n if (_this.settings.isCommaSeparated) {\n $item.innerHTML = _this._getCommaSeparatedValue(endValue);\n } else if (_this.settings.isReduceThousandsTo) {\n $item.innerHTML = _this._getCommaReducedValue(endValue, _this.settings.isReduceThousandsTo);\n } else {\n $item.innerHTML = endValue;\n }\n }\n }, _this.settings.time / _this.settings.fps)\n };\n }\n };\n var options = Object.assign({}, this.settings, appearSettings);\n appear(options);\n }\n }, {\n key: "_getCommaReducedValue",\n value: function _getCommaReducedValue(value, additionalText) {\n return parseInt(value / 1000, 10) + additionalText;\n }\n }, {\n key: "_getCommaSeparatedValue",\n value: function _getCommaSeparatedValue(value) {\n value = value.toString();\n\n switch (value.length) {\n case 4:\n return "".concat(value.substr(0, 1), ",").concat(value.substr(1));\n break;\n\n case 5:\n return "".concat(value.substr(0, 2), ",").concat(value.substr(2));\n break;\n\n case 6:\n return "".concat(value.substr(0, 3), ",").concat(value.substr(3));\n break;\n\n case 7:\n value = "".concat(value.substr(0, 1), ",").concat(value.substr(1));\n return "".concat(value.substr(0, 5), ",").concat(value.substr(5));\n break;\n\n case 8:\n value = "".concat(value.substr(0, 2), ",").concat(value.substr(2));\n return "".concat(value.substr(0, 6), ",").concat(value.substr(6));\n break;\n\n case 9:\n value = "".concat(value.substr(0, 3), ",").concat(value.substr(3));\n return "".concat(value.substr(0, 7), ",").concat(value.substr(7));\n break;\n\n case 10:\n value = "".concat(value.substr(0, 1), ",").concat(value.substr(1));\n value = "".concat(value.substr(0, 5), ",").concat(value.substr(5));\n return "".concat(value.substr(0, 9), ",").concat(value.substr(9));\n break;\n\n default:\n return value;\n }\n }\n }]);\n\n return HSCounter;\n}();\n\n\n\n//# sourceURL=webpack://HSCounter/./src/js/hs-counter.js?')}},e={},f.m=d,f.c=e,f.d=function(e,t,n){f.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(t,e){if(1&e&&(t=f(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(f.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)f.d(n,r,function(e){return t[e]}.bind(null,r));return n},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,"a",t),t},f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.p="",f(f.s="./src/js/hs-counter.js").default;function f(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return d[t].call(n.exports,n,n.exports,f),n.l=!0,n.exports}var d,e});