{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///likely.js","webpack:///webpack/bootstrap 28483ad6671787d41da8?5b35","webpack:///./source/utils.js?9663","webpack:///./source/dom.js?5bc8","webpack:///./source/config.js?c630","webpack:///./source/services/index.js?c057","webpack:///./source/index.js?f7bf","webpack:///./source/button.js?e297","webpack:///./source/factory.js?3f39","webpack:///./source/fetch.js?e510","webpack:///./source/history.js?9af0","webpack:///./source/service.js?148a","webpack:///./source/services/facebook.js?8ab2","webpack:///./source/services/gplus.js?60cf","webpack:///./source/services/linkedin.js?9d02","webpack:///./source/services/odnoklassniki.js?4265","webpack:///./source/services/pinterest.js?048b","webpack:///./source/services/telegram.js?a41a","webpack:///./source/services/twitter.js?f898","webpack:///./source/services/vk.js?1ed4","webpack:///./source/svg.js?51fa","webpack:///./source/widget.js?4d02","webpack:///./source/likely.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","each","toArray","merge","extend","getDataset","bools","template","makeUrl","query","set","getDefaultUrl","isBrowserEnv","_typeof","Symbol","iterator","obj","constructor","bool","yes","no","callback","key","arrayLike","Array","slice","result","args","arguments","length","arg","target","subject","node","dataset","attributes","attribute","attributeName","toUpperCase","n0","charAt","test","substr","replace","data","text","encodeURIComponent","filter","push","join","frags","split","last","forEach","index","link","document","querySelector","href","window","location","hash","createElement","__WEBPACK_IMPORTED_MODULE_0__utils__","global","wrapSVG","createNode","getScript","getJSON","find","findAll","openPopup","fakeWindow","div","gid","__likelyCallbacks","coords","html","innerHTML","children","url","script","head","type","src","appendChild","removeChild","concreteUrl","selector","querySelectorAll","winId","width","height","left","Math","round","screen","top","options","win","open","focus","prefix","__WEBPACK_IMPORTED_MODULE_0__service__","__WEBPACK_IMPORTED_MODULE_1__utils__","__WEBPACK_IMPORTED_MODULE_2__svg_js__","__WEBPACK_IMPORTED_MODULE_3__facebook__","__WEBPACK_IMPORTED_MODULE_4__gplus__","__WEBPACK_IMPORTED_MODULE_5__linkedin__","__WEBPACK_IMPORTED_MODULE_6__odnoklassniki__","__WEBPACK_IMPORTED_MODULE_7__pinterest__","__WEBPACK_IMPORTED_MODULE_8__telegram__","__WEBPACK_IMPORTED_MODULE_9__twitter__","__WEBPACK_IMPORTED_MODULE_10__vk__","services","facebook","gplus","linkedin","odnoklassniki","pinterest","telegram","twitter","vkontakte","service","svgi","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","props","descriptor","writable","protoProps","staticProps","_require","Likely","default","config","_require2","history","initWidget","fullOptions","defaults","counters","timeout","zeroes","title","wait","widget","realOptions","update","likely","console","warn","initiate","apply","nodes","initWidgets","realNodes","isArray","Node","onUrlChange","__WEBPACK_IMPORTED_MODULE_0__dom__","__WEBPACK_IMPORTED_MODULE_2__config__","__WEBPACK_IMPORTED_MODULE_3__fetch__","__WEBPACK_IMPORTED_MODULE_4__services__","htmlSpan","LikelyButton","init","detectService","detectParams","initHtml","setTimeout","initCounter","bind","className","forceUpdate","parentNode","keys","classList","contains","counter","parseInt","isNaN","counterUrl","counterNumber","addEventListener","click","remove","button","content","icon","updateCounter","fullClass","counterString","counterElement","popupUrl","addAdditionalParamsToUrl","popupWidth","popupHeight","parameters","delimeter","indexOf","listeners","argument","listener","__WEBPACK_IMPORTED_MODULE_0__factory__","__WEBPACK_IMPORTED_MODULE_2__services__","factories","callbacks","handleUrlChange","setupHistoryWatcher","pushState","replaceState","isWatchingHistory","_this","count","convertedNumber","convertNumber","e","__likelyCounterMock","share","share_count","sharedUrl","xhr","XMLHttpRequest","setRequestHeader","plusOneCount","JSON","parse","responseText","metadata","globalCounts","send","stringify","method","id","params","nolog","source","userId","groupId","jsonrpc","apiVersion","promise","promises","__WEBPACK_IMPORTED_MODULE_0__button__","__WEBPACK_IMPORTED_MODULE_1__config__","__WEBPACK_IMPORTED_MODULE_2__utils__","container","countersLeft","buttons","number","addButton","timer","appear","ready","add","clearTimeout"],"mappings":"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","file":"likely.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"likely\"] = factory();\n\telse\n\t\troot[\"likely\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"likely\"] = factory();\n\telse\n\t\troot[\"likely\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 20);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"each\", function() { return each; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toArray\", function() { return toArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return extend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDataset\", function() { return getDataset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bools\", function() { return bools; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"template\", function() { return template; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeUrl\", function() { return makeUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"query\", function() { return query; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return set; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultUrl\", function() { return getDefaultUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isBrowserEnv\", function() { return isBrowserEnv; });\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar bool = { yes: true, no: false };\n\n/**\r\n * Simple $.each, only for objects\r\n *\r\n * @param {Object} object\r\n * @param {Function} callback\r\n */\nvar each = function each(object, callback) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n callback(object[key], key);\n }\n }\n};\n\n/**\r\n * Convert array-like object to array\r\n *\r\n * @param {Object} arrayLike\r\n * @returns {Array}\r\n */\nvar toArray = function toArray(arrayLike) {\n return Array.prototype.slice.call(arrayLike);\n};\n\n/**\r\n * Merge given dictionaries (objects) into one object.\r\n * Iterates across the arguments.\r\n *\r\n * @returns {Object}\r\n */\nvar merge = function merge() {\n var result = {};\n var args = Array.prototype.slice.call(arguments); // eslint-disable-line no-undef\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n\n if (arg) {\n for (var key in arg) {\n if (arg.hasOwnProperty(key)) {\n result[key] = arg[key];\n }\n }\n }\n }\n\n return result;\n};\n\n/**\r\n * Extend one (target) object by other (subject)\r\n *\r\n * @param {Object} target\r\n * @param {Object} subject\r\n * @returns {Object} Extended target\r\n */\nvar extend = function extend(target, subject) {\n for (var key in subject) {\n if (subject.hasOwnProperty(key)) {\n target[key] = subject[key];\n }\n }\n return target;\n};\n\n/**\r\n * Return node.dataset or plain object for IE 10without setters\r\n * based on https://gist.github.com/brettz9/4093766#file_html5_dataset.js\r\n *\r\n * @param {Node} node\r\n * @returns {Object}\r\n */\nvar getDataset = function getDataset(node) {\n if (_typeof(node.dataset) === 'object') {\n return node.dataset;\n }\n\n var i = void 0;\n var dataset = {};\n var attributes = node.attributes;\n var attribute = void 0;\n var attributeName = void 0;\n\n var toUpperCase = function toUpperCase(n0) {\n return n0.charAt(1).toUpperCase();\n };\n\n for (i = attributes.length - 1; i >= 0; i--) {\n attribute = attributes[i];\n if (attribute && attribute.name && /^data-\\w[\\w\\-]*$/.test(attribute.name)) {\n attributeName = attribute.name.substr(5).replace(/-./g, toUpperCase);\n dataset[attributeName] = attribute.value;\n }\n }\n\n return dataset;\n};\n\n/**\r\n * Convert \"yes\" and \"no\" to true and false.\r\n *\r\n * @param {Node} node\r\n * @returns {Object}\r\n */\nvar bools = function bools(node) {\n var result = {};\n var data = getDataset(node);\n\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var value = data[key];\n\n result[key] = bool[value] || value;\n }\n }\n\n return result;\n};\n\n/**\r\n * Map object keys in string to its values\r\n *\r\n * @param {String} text\r\n * @param {Object} data\r\n * @returns {String}\r\n */\nvar template = function template(text, data) {\n return text ? text.replace(/\\{([^\\}]+)\\}/g, function (value, key) {\n return key in data ? data[key] : value;\n }) : '';\n};\n\n/**\r\n * Map object keys in URL to its values\r\n *\r\n * @param {String} text\r\n * @param {Object} data\r\n * @returns {String}\r\n */\nvar makeUrl = function makeUrl(text, data) {\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n data[key] = encodeURIComponent(data[key]);\n }\n }\n\n return template(text, data);\n};\n\n/**\r\n * Create query string out of data\r\n *\r\n * @param {Object} data\r\n * @returns {String}\r\n */\nvar query = function query(data) {\n var filter = encodeURIComponent;\n var query = [];\n\n for (var key in data) {\n if (_typeof(data[key]) === 'object') {\n continue;\n }\n\n query.push(filter(key) + '=' + filter(data[key]));\n }\n\n return query.join('&');\n};\n\n/**\r\n * Set value in object using dot-notation\r\n *\r\n * @param {Object} object\r\n * @param {String} key\r\n * @param {Object} value\r\n */\nvar set = function set(object, key, value) {\n var frags = key.split('.');\n var last = null;\n\n frags.forEach(function (key, index) {\n if (typeof object[key] === 'undefined') {\n object[key] = {};\n }\n\n if (index !== frags.length - 1) {\n object = object[key]; // eslint-disable-line no-param-reassign\n }\n\n last = key;\n });\n\n object[last] = value;\n};\n\n/**\r\n * Returns default url for likely.\r\n * It could be href from \r\n * if presents in the document, or the current url of the page otherwise\r\n *\r\n * @returns {String}\r\n */\nvar getDefaultUrl = function getDefaultUrl() {\n var link = document.querySelector('link[rel=\"canonical\"]');\n\n if (link) {\n return link.href;\n }\n return window.location.href.replace(window.location.hash, '');\n};\n\n/**\r\n * Is code run in browser or on server.\r\n */\nvar isBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined' && document.createElement;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(0);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"global\", function() { return global; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"wrapSVG\", function() { return wrapSVG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createNode\", function() { return createNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getScript\", function() { return getScript; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getJSON\", function() { return getJSON; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"find\", function() { return find; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findAll\", function() { return findAll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"openPopup\", function() { return openPopup; });\n\n\nvar fakeWindow = {};\n\nvar global = __WEBPACK_IMPORTED_MODULE_0__utils__[\"isBrowserEnv\"] ? window : fakeWindow;\n\nvar div = __WEBPACK_IMPORTED_MODULE_0__utils__[\"isBrowserEnv\"] ? document.createElement('div') : {};\nvar gid = 0;\n\n/**\r\n * Storage for callbacks which are needed\r\n * for JSONP API of social networks\r\n */\nglobal.__likelyCallbacks = {};\n\n/**\r\n * Wrap SVG coords from data object into SVG tag\r\n *\r\n * @param {String} coords\r\n * @returns {String}\r\n */\nvar wrapSVG = function wrapSVG(coords) {\n return '';\n};\n\n/**\r\n * Create node from HTML\r\n *\r\n * @param {String} html\r\n * @returns {Node}\r\n */\nvar createNode = function createNode(html) {\n div.innerHTML = html;\n\n return div.children[0];\n};\n\n/**\r\n * Load script\r\n *\r\n * @param {String} url\r\n */\nvar getScript = function getScript(url) {\n var script = document.createElement('script');\n var head = document.head;\n\n script.type = 'text/javascript';\n script.src = url;\n\n head.appendChild(script);\n head.removeChild(script);\n};\n\n/**\r\n * Get JSON\r\n *\r\n * @param {String} url\r\n * @param {Function} callback\r\n */\nvar getJSON = function getJSON(url, callback) {\n var name = encodeURIComponent('random_fun_' + ++gid);\n\n var concreteUrl = url.replace(/callback=(\\?)/, 'callback=__likelyCallbacks.' + name);\n\n global.__likelyCallbacks[name] = callback;\n\n getScript(concreteUrl);\n};\n\n/**\r\n * Find first node by selector\r\n *\r\n * @param {String} selector\r\n * @param {Node} [node]\r\n * @returns {Node}\r\n */\nvar find = function find(selector, node) {\n return (node || document).querySelector(selector);\n};\n\n/**\r\n * Find all nodes by selector\r\n *\r\n * @param {String} selector\r\n * @param {Node} [node]\r\n * @returns {Node[]}\r\n */\nvar findAll = function findAll(selector, node) {\n return Array.prototype.slice.call((node || document).querySelectorAll(selector));\n};\n/**\r\n * Open the popup\r\n *\r\n * @param {String} url\r\n * @param {String} winId\r\n * @param {Number} width,\r\n * @param {Number} height\r\n * @returns {Object|null}\r\n */\nvar openPopup = function openPopup(url, winId, width, height) {\n var left = Math.round(screen.width / 2 - width / 2);\n var top = 0;\n\n if (screen.height > height) {\n top = Math.round(screen.height / 3 - height / 2);\n }\n\n var options = 'left=' + left + ',top=' + top + ',width=' + width + ',height=' + height + ',personalbar=0,toolbar=0,scrollbars=1,resizable=1';\n\n var win = window.open(url, winId, options);\n\n if (!win) {\n location.href = url;\n return null;\n }\n\n win.focus();\n\n return win;\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/**\r\n * Configuration\r\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n name: 'likely',\n prefix: 'likely__'\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__service__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__svg_js__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facebook__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__gplus__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__linkedin__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__odnoklassniki__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pinterest__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__telegram__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__twitter__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__vk__ = __webpack_require__(17);\n/**\r\n * Social network services\r\n */\n\n\n\n\n/* eslint-disable sort-imports */\n\n\n\n\n\n\n\n\n/* eslint-enable sort-imports */\n\nvar services = {\n facebook: __WEBPACK_IMPORTED_MODULE_3__facebook__[\"a\" /* default */],\n gplus: __WEBPACK_IMPORTED_MODULE_4__gplus__[\"a\" /* default */],\n linkedin: __WEBPACK_IMPORTED_MODULE_5__linkedin__[\"a\" /* default */],\n odnoklassniki: __WEBPACK_IMPORTED_MODULE_6__odnoklassniki__[\"a\" /* default */],\n pinterest: __WEBPACK_IMPORTED_MODULE_7__pinterest__[\"a\" /* default */],\n telegram: __WEBPACK_IMPORTED_MODULE_8__telegram__[\"a\" /* default */],\n twitter: __WEBPACK_IMPORTED_MODULE_9__twitter__[\"a\" /* default */],\n vkontakte: __WEBPACK_IMPORTED_MODULE_10__vk__[\"a\" /* default */]\n};\n\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"each\"])(services, function (service, key) {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__service__[\"a\" /* default */])(service);\n\n service.svgi = __WEBPACK_IMPORTED_MODULE_2__svg_js__[\"a\" /* default */][key];\n service.name = key;\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = services;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// This module is an entry point for CommonJS modules.\n// It’s written with CommonJS imports and exports to make possible doing `module.exports = likely`.\n// This is required so that users work with `require('likely')`, not `require('likely').default`\n\nvar _require = __webpack_require__(0),\n bools = _require.bools,\n getDefaultUrl = _require.getDefaultUrl,\n merge = _require.merge;\n\nvar Likely = __webpack_require__(19).default;\nvar config = __webpack_require__(2).default;\n\nvar _require2 = __webpack_require__(1),\n findAll = _require2.findAll;\n\nvar history = __webpack_require__(8).default;\n\n/**\r\n * @param {Node} node\r\n * @param {Object} options\r\n * @private\r\n * @returns {Likely}\r\n */\nvar initWidget = function initWidget(node, options) {\n var fullOptions = options || {};\n var defaults = {\n counters: true,\n timeout: 1e3,\n zeroes: false,\n title: document.title,\n wait: 0.5e3,\n url: getDefaultUrl()\n };\n var widget = node[config.name];\n\n var realOptions = merge({}, defaults, fullOptions, bools(node));\n if (widget) {\n widget.update(realOptions);\n } else {\n node[config.name] = new Likely(node, realOptions);\n }\n\n return widget;\n};\n\n/**\r\n * @deprecated\r\n * @returns {Likely}\r\n */\n\nvar likely = function () {\n function likely() {\n _classCallCheck(this, likely);\n\n // eslint-disable-next-line no-console\n console.warn('likely function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead.');\n return likely.initiate.apply(likely, arguments);\n }\n\n _createClass(likely, null, [{\n key: 'initate',\n value: function initate() {\n // eslint-disable-next-line no-console\n console.warn('likely.initate function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead.');\n return likely.initiate.apply(likely, arguments);\n }\n\n /**\r\n * Initiate Likely buttons on load\r\n * @param {Node|Array|Object} [nodes] a particular node or an array of widgets,\r\n * if not specified,\r\n * tries to init all the widgets\r\n * @param {Object} [options] additional options for each widget\r\n */\n\n }, {\n key: 'initiate',\n value: function initiate(nodes, options) {\n var realNodes = void 0;\n var realOptions = void 0;\n\n if (Array.isArray(nodes)) {\n // An array of nodes was passed\n realNodes = nodes;\n realOptions = options;\n } else if (nodes instanceof Node) {\n // A single node was passed\n realNodes = [nodes];\n realOptions = options;\n } else {\n // Options were passed, or the function was called without arguments\n realNodes = findAll('.' + config.name);\n realOptions = nodes;\n }\n\n initWidgets();\n history.onUrlChange(initWidgets);\n\n function initWidgets() {\n realNodes.forEach(function (node) {\n initWidget(node, realOptions);\n });\n }\n }\n }]);\n\n return likely;\n}();\n\nmodule.exports = likely;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fetch__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services__ = __webpack_require__(3);\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n\n\n\n\nvar htmlSpan = '{content}';\n\n/**\r\n * Separate social link widget\r\n *\r\n * @param {Node} widget\r\n * @param {Likely} likely\r\n * @param {Object} options\r\n */\n\nvar LikelyButton = function () {\n function LikelyButton(widget, likely, options) {\n _classCallCheck(this, LikelyButton);\n\n this.widget = widget;\n this.likely = likely;\n this.options = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"merge\"])(options);\n\n this.init();\n }\n\n /**\r\n * Initiate the button\r\n */\n\n\n _createClass(LikelyButton, [{\n key: 'init',\n value: function init() {\n this.detectService();\n this.detectParams();\n\n if (this.service) {\n this.initHtml();\n\n setTimeout(this.initCounter.bind(this), 0);\n }\n }\n\n /**\r\n * Update the counter\r\n *\r\n * @param {Object} options\r\n */\n\n }, {\n key: 'update',\n value: function update(options) {\n var className = '.' + __WEBPACK_IMPORTED_MODULE_2__config__[\"default\"].prefix + 'counter';\n var counters = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"findAll\"])(className, this.widget);\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"extend\"])(this.options, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"merge\"])({ forceUpdate: false }, options));\n counters.forEach(function (node) {\n node.parentNode.removeChild(node);\n });\n\n this.initCounter();\n }\n\n /**\r\n * Get the config.name of service and its options\r\n */\n\n }, {\n key: 'detectService',\n value: function detectService() {\n var widget = this.widget;\n var service = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"getDataset\"])(widget).service;\n\n if (!service) {\n service = Object.keys(__WEBPACK_IMPORTED_MODULE_4__services__[\"a\" /* default */]).filter(function (service) {\n return widget.classList.contains(service);\n })[0];\n }\n\n if (service) {\n this.service = service;\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"extend\"])(this.options, __WEBPACK_IMPORTED_MODULE_4__services__[\"a\" /* default */][service]);\n }\n }\n\n /**\r\n * Merge params from data-* attributes into options hash map\r\n */\n\n }, {\n key: 'detectParams',\n value: function detectParams() {\n var options = this.options;\n var data = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"getDataset\"])(this.widget);\n\n if (data.counter) {\n var counter = parseInt(data.counter, 10);\n\n if (isNaN(counter)) {\n options.counterUrl = data.counter;\n } else {\n options.counterNumber = counter;\n }\n }\n\n options.title = data.title || options.title;\n options.url = data.url || options.url;\n }\n\n /**\r\n * Inititate button's HTML\r\n */\n\n }, {\n key: 'initHtml',\n value: function initHtml() {\n var options = this.options;\n var widget = this.widget;\n var text = widget.innerHTML;\n\n widget.addEventListener('click', this.click.bind(this));\n widget.classList.remove(this.service);\n widget.className += ' ' + this.className('widget');\n\n var button = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"template\"])(htmlSpan, {\n className: this.className('button'),\n content: text\n });\n\n var icon = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"template\"])(htmlSpan, {\n className: this.className('icon'),\n content: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"wrapSVG\"])(options.svgi)\n });\n\n widget.innerHTML = icon + button;\n }\n\n /**\r\n * Fetch or get cached counter value and update the counter\r\n */\n\n }, {\n key: 'initCounter',\n value: function initCounter() {\n var options = this.options;\n\n if (options.counters && options.counterNumber) {\n this.updateCounter(options.counterNumber);\n } else if (options.counterUrl) {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__fetch__[\"a\" /* default */])(this.service, options.url, options)(this.updateCounter.bind(this));\n }\n }\n\n /**\r\n * @param {String} className\r\n * @returns {String}\r\n */\n\n }, {\n key: 'className',\n value: function className(_className) {\n var fullClass = __WEBPACK_IMPORTED_MODULE_2__config__[\"default\"].prefix + _className;\n\n return fullClass + ' ' + fullClass + '_' + this.service;\n }\n\n /**\r\n * Update counter\r\n *\r\n * @param {String} counterString\r\n */\n\n }, {\n key: 'updateCounter',\n value: function updateCounter(counterString) {\n var counter = parseInt(counterString, 10) || 0;\n\n var counterElement = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"find\"])('.' + __WEBPACK_IMPORTED_MODULE_2__config__[\"default\"].name + '__counter', this.widget);\n\n if (counterElement) {\n counterElement.parentNode.removeChild(counterElement);\n }\n\n var options = {\n className: this.className('counter'),\n content: counter\n };\n\n if (!counter && !this.options.zeroes) {\n options.className += ' ' + __WEBPACK_IMPORTED_MODULE_2__config__[\"default\"].prefix + 'counter_empty';\n options.content = '';\n }\n\n this.widget.appendChild(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"createNode\"])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"template\"])(htmlSpan, options)));\n\n this.likely.updateCounter(this.service, counter);\n }\n\n /**\r\n * Click event listener\r\n * @returns {Boolean}\r\n */\n\n }, {\n key: 'click',\n value: function click() {\n var options = this.options;\n\n if (options.click.call(this)) {\n var url = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"makeUrl\"])(options.popupUrl, {\n url: options.url,\n title: options.title\n });\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"openPopup\"])(this.addAdditionalParamsToUrl(url), __WEBPACK_IMPORTED_MODULE_2__config__[\"default\"].prefix + this.service, options.popupWidth, options.popupHeight);\n }\n\n return false;\n }\n\n /**\r\n * Append service data to URL\r\n *\r\n * @param {String} url\r\n * @returns {String}\r\n */\n\n }, {\n key: 'addAdditionalParamsToUrl',\n value: function addAdditionalParamsToUrl(url) {\n var parameters = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"query\"])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"merge\"])(this.widget.dataset, this.options.data));\n var delimeter = url.indexOf('?') === -1 ? '?' : '&';\n\n return parameters === '' ? url : url + delimeter + parameters;\n }\n }]);\n\n return LikelyButton;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = LikelyButton;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* eslint-disable consistent-return, no-param-reassign */\n\n/**\r\n * Factory function\r\n *\r\n * This function returns function with following API:\r\n *\r\n * - if passed argument is callback, then this callback would be called\r\n * if the value was changed\r\n * - if passed argument is anything but undefined or function, then this\r\n * function behaves like setter\r\n * - if argument isn't provided, then return value stored in closure\r\n *\r\n * @param {Object} value\r\n * @returns {Function}\r\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = function (value) {\n var listeners = [];\n\n return function (argument) {\n var type = typeof argument === 'undefined' ? 'undefined' : _typeof(argument);\n\n if (type === 'undefined') {\n return value;\n } else if (type === 'function') {\n listeners.push(argument);\n } else {\n value = argument;\n\n listeners.forEach(function (listener) {\n listener(argument);\n });\n }\n };\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__factory__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services__ = __webpack_require__(3);\n\n\n\n\nvar factories = {};\n\n/**\r\n * Fetch data\r\n *\r\n * @param {String} service\r\n * @param {String} url\r\n * @param {Object} options\r\n * @returns {Promise}\r\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = function (service, url, options) {\n if (!factories[service]) {\n factories[service] = {};\n }\n\n var counters = factories[service];\n var counter = counters[url];\n\n if (!options.forceUpdate && counter) {\n return counter;\n }\n\n counter = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__factory__[\"a\" /* default */])();\n\n var href = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"makeUrl\"])(options.counterUrl, {\n url: url\n });\n\n __WEBPACK_IMPORTED_MODULE_2__services__[\"a\" /* default */][service].counter(href, counter, url);\n\n counters[url] = counter;\n return counter;\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar callbacks = [];\nvar handleUrlChange = function handleUrlChange() {\n callbacks.forEach(function (callback) {\n callback();\n });\n};\n\nvar setupHistoryWatcher = function setupHistoryWatcher() {\n var pushState = window.history.pushState;\n window.history.pushState = function () {\n // browser should change the url first\n setTimeout(handleUrlChange, 0);\n return pushState.apply(window.history, arguments);\n };\n\n var replaceState = window.history.replaceState;\n window.history.replaceState = function () {\n // browser should change the url first\n setTimeout(handleUrlChange, 0);\n return replaceState.apply(window.history, arguments);\n };\n\n window.addEventListener('popstate', handleUrlChange);\n};\n\nvar isWatchingHistory = false;\n\nvar history = {\n onUrlChange: function onUrlChange(callback) {\n if (!isWatchingHistory) {\n setupHistoryWatcher();\n isWatchingHistory = true;\n }\n\n callbacks.push(callback);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = history;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom__ = __webpack_require__(1);\n\n\n/**\r\n * @param {String} url\r\n * @param {Function} factory\r\n */\nvar counter = function counter(url, factory) {\n var _this = this;\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"getJSON\"])(url, function (count) {\n try {\n var convertedNumber = typeof _this.convertNumber === 'function' ? _this.convertNumber(count) : count;\n factory(convertedNumber);\n } catch (e) {}\n });\n};\n\n/**\r\n * @param {Object} options\r\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = function (options) {\n // __likelyCounterMock is used for UI testing and is set on window\n // because this function is executed right when Likely is loaded.\n // There’s currently no way to do `likely.__counterMock = ...`\n // before running this method.\n options.counter = __WEBPACK_IMPORTED_MODULE_0__dom__[\"global\"].__likelyCounterMock || options.counter || counter;\n options.click = options.click || function () {\n return true;\n };\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Facebook service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n counterUrl: 'https://graph.facebook.com/?id={url}&callback=?',\n convertNumber: function convertNumber(data) {\n return data.share.share_count;\n },\n popupUrl: 'https://www.facebook.com/sharer/sharer.php?u={url}',\n popupWidth: 600,\n popupHeight: 500\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Google+ service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n counterUrl: 'https://clients6.google.com/rpc',\n counter: function counter(counterUrl, callback, sharedUrl) {\n var xhr = new XMLHttpRequest();\n xhr.open('POST', counterUrl);\n xhr.setRequestHeader('Content-Type', 'application/json');\n\n xhr.addEventListener('load', function () {\n var plusOneCount = JSON.parse(xhr.responseText)[0].result.metadata.globalCounts.count;\n callback(plusOneCount);\n });\n\n xhr.send(JSON.stringify([{\n method: 'pos.plusones.get',\n id: 'p',\n params: {\n nolog: true,\n id: sharedUrl,\n source: 'widget',\n userId: '@viewer',\n groupId: '@self'\n },\n jsonrpc: '2.0',\n key: 'p',\n apiVersion: 'v1'\n }]));\n },\n\n popupUrl: 'https://plus.google.com/share?url={url}',\n popupWidth: 700,\n popupHeight: 500\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * LinkedIn service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n counterUrl: 'https://www.linkedin.com/countserv/count/share?url={url}&format=jsonp&callback=?',\n convertNumber: function convertNumber(data) {\n return data.count;\n },\n popupUrl: 'https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}',\n popupWidth: 600,\n popupHeight: 500\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(0);\n/**\r\n * Odnoklassniki service provider\r\n */\n\n\n\n\nvar odnoklassniki = {\n counterUrl: 'https://connect.ok.ru/dk?st.cmd=extLike&ref={url}&uid={index}',\n counter: function counter(url, promise) {\n this.promises.push(promise);\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"getScript\"])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"makeUrl\"])(url, {\n index: this.promises.length - 1\n }));\n },\n\n promises: [],\n popupUrl: 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}',\n popupWidth: 640,\n popupHeight: 400\n};\n\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"set\"])(__WEBPACK_IMPORTED_MODULE_0__dom__[\"global\"], 'ODKL.updateCount', function (index, counter) {\n odnoklassniki.promises[index](counter);\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = odnoklassniki;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Pinterest service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n counterUrl: 'https://api.pinterest.com/v1/urls/count.json?url={url}&callback=?',\n convertNumber: function convertNumber(counter) {\n return counter.count;\n },\n popupUrl: 'https://pinterest.com/pin/create/button/?url={url}&description={title}',\n popupWidth: 630,\n popupHeight: 270\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Telegram service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n popupUrl: 'https://telegram.me/share/url?url={url}',\n popupWidth: 600,\n popupHeight: 500\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Twitter service provider\r\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n popupUrl: 'https://twitter.com/intent/tweet?url={url}&text={title}',\n popupWidth: 600,\n popupHeight: 450,\n click: function click() {\n if (!/[\\.\\?:\\-–—]\\s*$/.test(this.options.title)) {\n this.options.title += ':';\n }\n\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(0);\n/**\r\n * Vkontakte service provider\r\n */\n\n\n\n\nvar vkontakte = {\n counterUrl: 'https://vk.com/share.php?act=count&url={url}&index={index}',\n counter: function counter(url, promise) {\n this.promises.push(promise);\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom__[\"getScript\"])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"makeUrl\"])(url, {\n index: this.promises.length - 1\n }));\n },\n\n promises: [],\n popupUrl: 'https://vk.com/share.php?url={url}&title={title}',\n popupWidth: 550,\n popupHeight: 330\n};\n\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"set\"])(__WEBPACK_IMPORTED_MODULE_0__dom__[\"global\"], 'VK.Share.count', function (index, count) {\n vkontakte.promises[index](count);\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = vkontakte;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * SVG icons for buttons\r\n * @type {Object}\r\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = {\n facebook: '13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h5V9H6V7h2V5c0-2 2-2 2-2h3v2h-3v2h3l-.5 2H10v7h3c2 0 3-1 3-3V3c0-2-1-3-3-3',\n twitter: '15.96 3.42c-.04.153-.144.31-.237.414l-.118.058v.118l-.59.532-.237.295c-.05.036-.398.21-.413.237V6.49h-.06v.473h-.058v.294h-.058v.296h-.06v.235h-.06v.237h-.058c-.1.355-.197.71-.295 1.064h-.06v.116h-.06c-.02.1-.04.197-.058.296h-.06c-.04.118-.08.237-.118.355h-.06c-.038.118-.078.236-.117.353l-.118.06-.06.235-.117.06v.116l-.118.06v.12h-.06c-.02.057-.038.117-.058.175l-.118.06v.117c-.06.04-.118.08-.177.118v.118l-.237.177v.118l-.59.53-.532.592h-.117c-.06.078-.118.156-.177.236l-.177.06-.06.117h-.118l-.06.118-.176.06v.058h-.118l-.06.118-.353.12-.06.117c-.078.02-.156.04-.235.058v.06c-.118.038-.236.078-.354.118v.058H8.76v.06h-.12v.06h-.176v.058h-.118v.06H8.17v.058H7.99v.06l-.413.058v.06h-.237c-.667.22-1.455.293-2.36.293h-.886v-.058h-.53v-.06H3.27v-.06h-.295v-.06H2.68v-.057h-.177v-.06h-.236v-.058H2.09v-.06h-.177v-.058h-.177v-.06H1.56v-.058h-.12v-.06l-.294-.06v-.057c-.118-.04-.236-.08-.355-.118v-.06H.674v-.058H.555v-.06H.437v-.058H.32l-.06-.12H.142v-.058c-.13-.08-.083.026-.177-.118H1.56v-.06c.294-.04.59-.077.884-.117v-.06h.177v-.058h.237v-.06h.118v-.06h.177v-.057h.118v-.06h.177v-.058l.236-.06v-.058l.236-.06c.02-.038.04-.078.058-.117l.237-.06c.02-.04.04-.077.058-.117h.118l.06-.118h.118c.036-.025.047-.078.118-.118V12.1c-1.02-.08-1.84-.54-2.303-1.183-.08-.058-.157-.118-.236-.176v-.117l-.118-.06v-.117c-.115-.202-.268-.355-.296-.65.453.004.987.008 1.354-.06v-.06c-.254-.008-.47-.08-.65-.175v-.058H2.32v-.06c-.08-.02-.157-.04-.236-.058l-.06-.118h-.117l-.118-.178h-.12c-.077-.098-.156-.196-.235-.294l-.118-.06v-.117l-.177-.12c-.35-.502-.6-1.15-.59-2.006h.06c.204.234.948.377 1.357.415v-.06c-.257-.118-.676-.54-.827-.768V5.9l-.118-.06c-.04-.117-.08-.236-.118-.354h-.06v-.118H.787c-.04-.196-.08-.394-.118-.59-.06-.19-.206-.697-.118-1.005h.06V3.36h.058v-.177h.06v-.177h.057V2.83h.06c.04-.118.078-.236.117-.355h.118v.06c.12.097.237.196.355.295v.118l.118.058c.08.098.157.197.236.295l.176.06.354.413h.118l.177.236h.118l.06.117h.117c.04.06.08.118.118.177h.118l.06.118.235.06.06.117.356.12.06.117.53.176v.06h.118v.058l.236.06v.06c.118.02.236.04.355.058v.06h.177v.058h.177v.06h.176v.058h.236v.06l.472.057v.06l1.417.18v-.237c-.1-.112-.058-.442-.057-.65 0-.573.15-.99.354-1.358v-.117l.118-.06.06-.235.176-.118v-.118c.14-.118.276-.236.414-.355l.06-.117h.117l.12-.177.235-.06.06-.117h.117v-.058H9.7v-.058h.177v-.06h.177v-.058h.177v-.06h.296v-.058h1.063v.058h.294v.06h.177v.058h.178v.06h.177v.058h.118v.06h.118l.06.117c.08.018.158.038.236.058.04.06.08.118.118.177h.118l.06.117c.142.133.193.163.472.178.136-.12.283-.05.472-.118v-.06h.177v-.058h.177v-.06l.236-.058v-.06h.177l.59-.352v.176h-.058l-.06.295h-.058v.117h-.06v.118l-.117.06v.118l-.177.118v.117l-.118.06-.354.412h-.117l-.177.236h.06c.13-.112.402-.053.59-.117l1.063-.353',\n vkontakte: '13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zm.452 11.394l-1.603.022s-.345.068-.8-.243c-.598-.41-1.164-1.48-1.604-1.342-.446.144-.432 1.106-.432 1.106s.003.206-.1.315c-.11.12-.326.144-.326.144H7.87s-1.582.095-2.975-1.356c-1.52-1.583-2.862-4.723-2.862-4.723s-.078-.206.006-.305c.094-.112.35-.12.35-.12l1.716-.01s.162.026.277.11c.095.07.15.202.15.202s.276.7.643 1.335c.716 1.238 1.05 1.508 1.293 1.376.353-.193.247-1.75.247-1.75s.006-.565-.178-.817c-.145-.194-.415-.25-.534-.267-.096-.014.062-.238.267-.338.31-.15.853-.16 1.497-.153.502.004.646.035.842.083.59.143.39.694.39 2.016 0 .422-.075 1.018.23 1.215.13.085.453.013 1.256-1.352.38-.647.666-1.407.666-1.407s.062-.136.16-.194c.098-.06.232-.04.232-.04l1.804-.012s.542-.065.63.18c.092.257-.203.857-.94 1.84-1.21 1.612-1.345 1.46-.34 2.394.96.89 1.16 1.325 1.192 1.38.4.66-.44.71-.44.71',\n gplus: '8,6.5v3h4.291c-0.526,2.01-2.093,3.476-4.315,3.476C5.228,12.976,3,10.748,3,8c0-2.748,2.228-4.976,4.976-4.976c1.442,0,2.606,0.623,3.397,1.603L13.52,2.48C12.192,0.955,10.276,0,8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s7.5-3.582,7.5-8V6.5H8',\n pinterest: '7.99 0c-4.417 0-8 3.582-8 8 0 3.39 2.11 6.284 5.086 7.45-.07-.633-.133-1.604.028-2.295.145-.624.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.112.645-1.943 1.448-1.943.683 0 1.012.512 1.012 1.127 0 .686-.437 1.713-.663 2.664-.19.796.398 1.446 1.184 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.255-3.343-3.255-2.276 0-3.612 1.707-3.612 3.472 0 .688.265 1.425.595 1.826.065.08.075.15.055.23-.06.252-.195.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.835-4.84 5.287-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.74 4.976-4.152 4.976-.81 0-1.573-.42-1.834-.92l-.498 1.903c-.18.695-.668 1.566-.994 2.097.75.232 1.544.357 2.37.357 4.417 0 8-3.582 8-8s-3.583-8-8-8',\n odnoklassniki: '8 6.107c.888 0 1.607-.72 1.607-1.607 0-.888-.72-1.607-1.607-1.607s-1.607.72-1.607 1.607c0 .888.72 1.607 1.607 1.607zM13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zM8 .75c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75S4.25 6.57 4.25 4.5C4.25 2.43 5.93.75 8 .75zm3.826 12.634c.42.42.42 1.097 0 1.515-.21.208-.483.313-.758.313-.274 0-.548-.105-.758-.314L8 12.59 5.69 14.9c-.42.418-1.098.418-1.516 0s-.42-1.098 0-1.516L6.357 11.2c-1.303-.386-2.288-1.073-2.337-1.11-.473-.354-.57-1.025-.214-1.5.354-.47 1.022-.567 1.496-.216.03.022 1.4.946 2.698.946 1.31 0 2.682-.934 2.693-.943.474-.355 1.146-.258 1.5.213.355.474.26 1.146-.214 1.5-.05.036-1.035.723-2.338 1.11l2.184 2.184',\n telegram: '6,11.960784l-1,-3l11,-8l-15.378,5.914c0,0 -0.672,0.23 -0.619,0.655c0.053,0.425 0.602,0.619 0.602,0.619l3.575,1.203l1.62,5.154l2.742,-2.411l-0.007,-0.005l3.607,2.766c0.973,0.425 1.327,-0.46 1.327,-0.46l2.531,-13.435l-10,11z',\n linkedin: '2.4,6h2.4v7.6H2.4V6z M3.6,2.2c0.8,0,1.4,0.6,1.4,1.4C4.9,4.3,4.3,5,3.6,5C2.8,5,2.2,4.3,2.2,3.6C2.2,2.8,2.8,2.2,3.6,2.2C3.6,2.2,3.6,2.2,3.6,2.2 M6.2,6h2.3v1h0C9,6.2,9.9,5.8,10.8,5.8c2.4,0,2.8,1.6,2.8,3.6v4.2h-2.4V9.9c0-0.9,0-2-1.2-2c-1.2,0-1.4,1-1.4,2v3.8H6.2V6z M13,0H3C1,0,0,1,0,3v10c0,2,1,3,3,3h10c2,0,3-1,3-3V3C16,1,15,0,13,0z'\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__button__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils__ = __webpack_require__(0);\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n\n\n/**\r\n * Main widget view\r\n *\r\n * @param {Node} container\r\n * @param {Object} options\r\n */\n\nvar Likely = function () {\n function Likely(container, options) {\n _classCallCheck(this, Likely);\n\n this.container = container;\n this.options = options;\n\n this.countersLeft = 0;\n this.buttons = [];\n this.number = 0;\n\n this.init();\n }\n\n /**\r\n * Initiate the social buttons widget\r\n */\n\n\n _createClass(Likely, [{\n key: 'init',\n value: function init() {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils__[\"toArray\"])(this.container.children).forEach(this.addButton.bind(this));\n\n if (this.options.counters) {\n this.timer = setTimeout(this.appear.bind(this), this.options.wait);\n this.timeout = setTimeout(this.ready.bind(this), this.options.timeout);\n } else {\n this.appear();\n }\n }\n\n /**\r\n * Add a button\r\n *\r\n * @param {Node} node\r\n */\n\n }, {\n key: 'addButton',\n value: function addButton(node) {\n var button = new __WEBPACK_IMPORTED_MODULE_0__button__[\"a\" /* default */](node, this, this.options);\n\n this.buttons.push(button);\n\n if (button.options.counterUrl) {\n this.countersLeft++;\n }\n }\n\n /**\r\n * Update the timer with URL\r\n *\r\n * @param {Object} options\r\n */\n\n }, {\n key: 'update',\n value: function update(options) {\n if (options.forceUpdate || options.url && options.url !== this.options.url) {\n this.countersLeft = this.buttons.length;\n this.number = 0;\n\n this.buttons.forEach(function (button) {\n button.update(options);\n });\n }\n }\n\n /**\r\n * Update counter\r\n *\r\n * @param {String} service\r\n * @param {Number} counter\r\n */\n\n }, {\n key: 'updateCounter',\n value: function updateCounter(service, counter) {\n if (counter) {\n this.number += counter;\n }\n\n this.countersLeft--;\n\n if (this.countersLeft === 0) {\n this.appear();\n this.ready();\n }\n }\n\n /**\r\n * Show the buttons with smooth animation\r\n */\n\n }, {\n key: 'appear',\n value: function appear() {\n this.container.classList.add(__WEBPACK_IMPORTED_MODULE_1__config__[\"default\"].name + '_visible');\n }\n\n /**\r\n * Get. Set. Ready.\r\n */\n\n }, {\n key: 'ready',\n value: function ready() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n\n this.container.classList.add(__WEBPACK_IMPORTED_MODULE_1__config__[\"default\"].name + '_ready');\n }\n }\n }]);\n\n return Likely;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = Likely;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// This module is an entry point when `likely.js` is just dropped into the browser.\n// It’s written with CommonJS imports and exports to make possible doing `module.exports = likely`.\n// This is required so that users work with `window.likely`, not `window.likely.default`\n\nvar likely = __webpack_require__(4);\n\nwindow.addEventListener('load', function () {\n likely.initiate();\n});\n\nmodule.exports = likely;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// likely.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 20);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 28483ad6671787d41da8","const bool = { yes: true, no: false };\r\n\r\n/**\r\n * Simple $.each, only for objects\r\n *\r\n * @param {Object} object\r\n * @param {Function} callback\r\n */\r\nexport const each = (object, callback) => {\r\n for (const key in object) {\r\n if (object.hasOwnProperty(key)) {\r\n callback(object[key], key);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Convert array-like object to array\r\n *\r\n * @param {Object} arrayLike\r\n * @returns {Array}\r\n */\r\nexport const toArray = (arrayLike) => Array.prototype.slice.call(arrayLike);\r\n\r\n/**\r\n * Merge given dictionaries (objects) into one object.\r\n * Iterates across the arguments.\r\n *\r\n * @returns {Object}\r\n */\r\nexport const merge = function () {\r\n const result = {};\r\n const args = Array.prototype.slice.call(arguments); // eslint-disable-line no-undef\r\n\r\n for (let i = 0; i < args.length; i++) {\r\n const arg = args[i];\r\n\r\n if (arg) {\r\n for (const key in arg) {\r\n if (arg.hasOwnProperty(key)) {\r\n result[key] = arg[key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Extend one (target) object by other (subject)\r\n *\r\n * @param {Object} target\r\n * @param {Object} subject\r\n * @returns {Object} Extended target\r\n */\r\nexport const extend = (target, subject) => {\r\n for (const key in subject) {\r\n if (subject.hasOwnProperty(key)) {\r\n target[key] = subject[key];\r\n }\r\n }\r\n return target;\r\n};\r\n\r\n/**\r\n * Return node.dataset or plain object for IE 10without setters\r\n * based on https://gist.github.com/brettz9/4093766#file_html5_dataset.js\r\n *\r\n * @param {Node} node\r\n * @returns {Object}\r\n */\r\nexport const getDataset = (node) => {\r\n if (typeof node.dataset === 'object') {\r\n return node.dataset;\r\n }\r\n\r\n let i;\r\n const dataset = {};\r\n const attributes = node.attributes;\r\n let attribute;\r\n let attributeName;\r\n\r\n const toUpperCase = (n0) => n0.charAt(1).toUpperCase();\r\n\r\n for (i = attributes.length - 1; i >= 0; i--) {\r\n attribute = attributes[i];\r\n if (attribute && attribute.name && (/^data-\\w[\\w\\-]*$/).test(attribute.name)) {\r\n attributeName = attribute.name.substr(5).replace(/-./g, toUpperCase);\r\n dataset[attributeName] = attribute.value;\r\n }\r\n }\r\n\r\n return dataset;\r\n};\r\n\r\n/**\r\n * Convert \"yes\" and \"no\" to true and false.\r\n *\r\n * @param {Node} node\r\n * @returns {Object}\r\n */\r\nexport const bools = (node) => {\r\n const result = {};\r\n const data = getDataset(node);\r\n\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n const value = data[key];\r\n\r\n result[key] = bool[value] || value;\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Map object keys in string to its values\r\n *\r\n * @param {String} text\r\n * @param {Object} data\r\n * @returns {String}\r\n */\r\nexport const template = (text, data) => {\r\n return text ? text.replace(/\\{([^\\}]+)\\}/g, function (value, key) {\r\n return key in data ? data[key] : value;\r\n }) : '';\r\n};\r\n\r\n/**\r\n * Map object keys in URL to its values\r\n *\r\n * @param {String} text\r\n * @param {Object} data\r\n * @returns {String}\r\n */\r\nexport const makeUrl = (text, data) => {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n data[key] = encodeURIComponent(data[key]);\r\n }\r\n }\r\n\r\n return template(text, data);\r\n};\r\n\r\n/**\r\n * Create query string out of data\r\n *\r\n * @param {Object} data\r\n * @returns {String}\r\n */\r\nexport const query = (data) => {\r\n const filter = encodeURIComponent;\r\n const query = [];\r\n\r\n for (const key in data) {\r\n if (typeof data[key] === 'object') {\r\n continue;\r\n }\r\n\r\n query.push(`${filter(key)}=${filter(data[key])}`);\r\n }\r\n\r\n return query.join('&');\r\n};\r\n\r\n/**\r\n * Set value in object using dot-notation\r\n *\r\n * @param {Object} object\r\n * @param {String} key\r\n * @param {Object} value\r\n */\r\nexport const set = (object, key, value) => {\r\n const frags = key.split('.');\r\n let last = null;\r\n\r\n frags.forEach((key, index) => {\r\n if (typeof object[key] === 'undefined') {\r\n object[key] = {};\r\n }\r\n\r\n if (index !== frags.length - 1) {\r\n object = object[key]; // eslint-disable-line no-param-reassign\r\n }\r\n\r\n last = key;\r\n });\r\n\r\n object[last] = value;\r\n};\r\n\r\n/**\r\n * Returns default url for likely.\r\n * It could be href from \r\n * if presents in the document, or the current url of the page otherwise\r\n *\r\n * @returns {String}\r\n */\r\nexport const getDefaultUrl = () => {\r\n const link = document.querySelector('link[rel=\"canonical\"]');\r\n\r\n if (link) {\r\n return link.href;\r\n }\r\n return window.location.href.replace(window.location.hash, '');\r\n};\r\n\r\n/**\r\n * Is code run in browser or on server.\r\n */\r\nexport const isBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined' && document.createElement;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/utils.js","import { isBrowserEnv } from './utils';\r\n\r\nconst fakeWindow = {};\r\n\r\nexport const global = isBrowserEnv ? window : fakeWindow;\r\n\r\nconst div = isBrowserEnv ? document.createElement('div') : {};\r\nlet gid = 0;\r\n\r\n/**\r\n * Storage for callbacks which are needed\r\n * for JSONP API of social networks\r\n */\r\nglobal.__likelyCallbacks = {};\r\n\r\n/**\r\n * Wrap SVG coords from data object into SVG tag\r\n *\r\n * @param {String} coords\r\n * @returns {String}\r\n */\r\nexport const wrapSVG = (coords) =>\r\n '';\r\n\r\n/**\r\n * Create node from HTML\r\n *\r\n * @param {String} html\r\n * @returns {Node}\r\n */\r\nexport const createNode = (html) => {\r\n div.innerHTML = html;\r\n\r\n return div.children[0];\r\n};\r\n\r\n/**\r\n * Load script\r\n *\r\n * @param {String} url\r\n */\r\nexport const getScript = (url) => {\r\n const script = document.createElement('script');\r\n const head = document.head;\r\n\r\n script.type = 'text/javascript';\r\n script.src = url;\r\n\r\n head.appendChild(script);\r\n head.removeChild(script);\r\n};\r\n\r\n/**\r\n * Get JSON\r\n *\r\n * @param {String} url\r\n * @param {Function} callback\r\n */\r\nexport const getJSON = (url, callback) => {\r\n const name = encodeURIComponent(`random_fun_${++gid}`);\r\n\r\n const concreteUrl = url.replace(\r\n /callback=(\\?)/,\r\n `callback=__likelyCallbacks.${name}`\r\n );\r\n\r\n global.__likelyCallbacks[name] = callback;\r\n\r\n getScript(concreteUrl);\r\n};\r\n\r\n/**\r\n * Find first node by selector\r\n *\r\n * @param {String} selector\r\n * @param {Node} [node]\r\n * @returns {Node}\r\n */\r\nexport const find = (selector, node) => (node || document).querySelector(selector);\r\n\r\n/**\r\n * Find all nodes by selector\r\n *\r\n * @param {String} selector\r\n * @param {Node} [node]\r\n * @returns {Node[]}\r\n */\r\nexport const findAll = (selector, node) => Array.prototype.slice.call((node || document).querySelectorAll(selector));\r\n/**\r\n * Open the popup\r\n *\r\n * @param {String} url\r\n * @param {String} winId\r\n * @param {Number} width,\r\n * @param {Number} height\r\n * @returns {Object|null}\r\n */\r\nexport const openPopup = (url, winId, width, height) => {\r\n const left = Math.round(screen.width / 2 - width / 2);\r\n let top = 0;\r\n\r\n if (screen.height > height) {\r\n top = Math.round(screen.height / 3 - height / 2);\r\n }\r\n\r\n const options = 'left=' + left +\r\n ',top=' + top +\r\n ',width=' + width +\r\n ',height=' + height +\r\n ',personalbar=0,toolbar=0,scrollbars=1,resizable=1';\r\n\r\n const win = window.open(url, winId, options);\r\n\r\n if (!win) {\r\n location.href = url;\r\n return null;\r\n }\r\n\r\n win.focus();\r\n\r\n return win;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/dom.js","/**\r\n * Configuration\r\n */\r\n\r\nexport default {\r\n name: 'likely',\r\n prefix: 'likely__',\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/config.js","/**\r\n * Social network services\r\n */\r\nimport Service from '../service';\r\nimport { each } from '../utils';\r\nimport svg from '../svg.js';\r\n\r\n/* eslint-disable sort-imports */\r\nimport facebook from './facebook';\r\nimport gplus from './gplus';\r\nimport linkedin from './linkedin';\r\nimport odnoklassniki from './odnoklassniki';\r\nimport pinterest from './pinterest';\r\nimport telegram from './telegram';\r\nimport twitter from './twitter';\r\nimport vkontakte from './vk';\r\n/* eslint-enable sort-imports */\r\n\r\n\r\nconst services = {\r\n facebook,\r\n gplus,\r\n linkedin,\r\n odnoklassniki,\r\n pinterest,\r\n telegram,\r\n twitter,\r\n vkontakte,\r\n};\r\n\r\neach(services, (service, key) => {\r\n Service(service);\r\n\r\n service.svgi = svg[key];\r\n service.name = key;\r\n});\r\n\r\nexport default services;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/index.js","// This module is an entry point for CommonJS modules.\r\n// It’s written with CommonJS imports and exports to make possible doing `module.exports = likely`.\r\n// This is required so that users work with `require('likely')`, not `require('likely').default`\r\n\r\nconst { bools, getDefaultUrl, merge } = require('./utils');\r\n\r\nconst Likely = require('./widget').default;\r\nconst config = require('./config').default;\r\nconst { findAll } = require('./dom');\r\nconst history = require('./history').default;\r\n\r\n/**\r\n * @param {Node} node\r\n * @param {Object} options\r\n * @private\r\n * @returns {Likely}\r\n */\r\nconst initWidget = (node, options) => {\r\n const fullOptions = options || {};\r\n const defaults = {\r\n counters: true,\r\n timeout: 1e3,\r\n zeroes: false,\r\n title: document.title,\r\n wait: 0.5e3,\r\n url: getDefaultUrl(),\r\n };\r\n const widget = node[config.name];\r\n\r\n const realOptions = merge({}, defaults, fullOptions, bools(node));\r\n if (widget) {\r\n widget.update(realOptions);\r\n }\r\n else {\r\n node[config.name] = new Likely(node, realOptions);\r\n }\r\n\r\n return widget;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n * @returns {Likely}\r\n */\r\nclass likely {\r\n constructor() {\r\n // eslint-disable-next-line no-console\r\n console.warn('likely function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead.');\r\n return likely.initiate(...arguments);\r\n }\r\n\r\n static initate() {\r\n // eslint-disable-next-line no-console\r\n console.warn('likely.initate function is DEPRECATED and will be removed in 3.0. Use likely.initiate instead.');\r\n return likely.initiate(...arguments);\r\n }\r\n\r\n /**\r\n * Initiate Likely buttons on load\r\n * @param {Node|Array|Object} [nodes] a particular node or an array of widgets,\r\n * if not specified,\r\n * tries to init all the widgets\r\n * @param {Object} [options] additional options for each widget\r\n */\r\n static initiate(nodes, options) {\r\n let realNodes;\r\n let realOptions;\r\n\r\n if (Array.isArray(nodes)) {\r\n // An array of nodes was passed\r\n realNodes = nodes;\r\n realOptions = options;\r\n }\r\n else if (nodes instanceof Node) {\r\n // A single node was passed\r\n realNodes = [nodes];\r\n realOptions = options;\r\n }\r\n else {\r\n // Options were passed, or the function was called without arguments\r\n realNodes = findAll(`.${config.name}`);\r\n realOptions = nodes;\r\n }\r\n\r\n initWidgets();\r\n history.onUrlChange(initWidgets);\r\n\r\n function initWidgets() {\r\n realNodes.forEach((node) => {\r\n initWidget(node, realOptions);\r\n });\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = likely;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/index.js","import { createNode, find, findAll, openPopup, wrapSVG } from './dom';\r\nimport { extend, getDataset, makeUrl, merge, query, template } from './utils';\r\n\r\nimport config from './config';\r\nimport fetch from './fetch';\r\nimport services from './services';\r\n\r\nconst htmlSpan = '{content}';\r\n\r\n/**\r\n * Separate social link widget\r\n *\r\n * @param {Node} widget\r\n * @param {Likely} likely\r\n * @param {Object} options\r\n */\r\nclass LikelyButton {\r\n constructor(widget, likely, options) {\r\n this.widget = widget;\r\n this.likely = likely;\r\n this.options = merge(options);\r\n\r\n this.init();\r\n }\r\n\r\n /**\r\n * Initiate the button\r\n */\r\n init() {\r\n this.detectService();\r\n this.detectParams();\r\n\r\n if (this.service) {\r\n this.initHtml();\r\n\r\n setTimeout(this.initCounter.bind(this), 0);\r\n }\r\n }\r\n\r\n /**\r\n * Update the counter\r\n *\r\n * @param {Object} options\r\n */\r\n update(options) {\r\n const className = `.${config.prefix}counter`;\r\n const counters = findAll(className, this.widget);\r\n\r\n extend(this.options, merge({ forceUpdate: false }, options));\r\n counters.forEach((node) => {\r\n node.parentNode.removeChild(node);\r\n });\r\n\r\n this.initCounter();\r\n }\r\n\r\n /**\r\n * Get the config.name of service and its options\r\n */\r\n detectService() {\r\n const widget = this.widget;\r\n let service = getDataset(widget).service;\r\n\r\n if (!service) {\r\n service = Object.keys(services).filter((service) => widget.classList.contains(service))[0];\r\n }\r\n\r\n if (service) {\r\n this.service = service;\r\n\r\n extend(this.options, services[service]);\r\n }\r\n }\r\n\r\n /**\r\n * Merge params from data-* attributes into options hash map\r\n */\r\n detectParams() {\r\n const options = this.options;\r\n const data = getDataset(this.widget);\r\n\r\n if (data.counter) {\r\n const counter = parseInt(data.counter, 10);\r\n\r\n if (isNaN(counter)) {\r\n options.counterUrl = data.counter;\r\n }\r\n else {\r\n options.counterNumber = counter;\r\n }\r\n }\r\n\r\n options.title = data.title || options.title;\r\n options.url = data.url || options.url;\r\n }\r\n\r\n /**\r\n * Inititate button's HTML\r\n */\r\n initHtml() {\r\n const options = this.options;\r\n const widget = this.widget;\r\n const text = widget.innerHTML;\r\n\r\n widget.addEventListener('click', this.click.bind(this));\r\n widget.classList.remove(this.service);\r\n widget.className += ` ${this.className('widget')}`;\r\n\r\n const button = template(htmlSpan, {\r\n className: this.className('button'),\r\n content: text,\r\n });\r\n\r\n const icon = template(htmlSpan, {\r\n className: this.className('icon'),\r\n content: wrapSVG(options.svgi),\r\n });\r\n\r\n widget.innerHTML = icon + button;\r\n }\r\n\r\n /**\r\n * Fetch or get cached counter value and update the counter\r\n */\r\n initCounter() {\r\n const options = this.options;\r\n\r\n if (options.counters && options.counterNumber) {\r\n this.updateCounter(options.counterNumber);\r\n }\r\n else if (options.counterUrl) {\r\n fetch(\r\n this.service,\r\n options.url,\r\n options\r\n )(this.updateCounter.bind(this));\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} className\r\n * @returns {String}\r\n */\r\n className(className) {\r\n const fullClass = config.prefix + className;\r\n\r\n return `${fullClass} ${fullClass}_${this.service}`;\r\n }\r\n\r\n /**\r\n * Update counter\r\n *\r\n * @param {String} counterString\r\n */\r\n updateCounter(counterString) {\r\n const counter = parseInt(counterString, 10) || 0;\r\n\r\n const counterElement = find(`.${config.name}__counter`, this.widget);\r\n\r\n if (counterElement) {\r\n counterElement.parentNode.removeChild(counterElement);\r\n }\r\n\r\n const options = {\r\n className: this.className('counter'),\r\n content: counter,\r\n };\r\n\r\n if (!counter && !this.options.zeroes) {\r\n options.className += ` ${config.prefix}counter_empty`;\r\n options.content = '';\r\n }\r\n\r\n this.widget.appendChild(\r\n createNode(template(htmlSpan, options))\r\n );\r\n\r\n this.likely.updateCounter(this.service, counter);\r\n }\r\n\r\n /**\r\n * Click event listener\r\n * @returns {Boolean}\r\n */\r\n click() {\r\n const options = this.options;\r\n\r\n if (options.click.call(this)) {\r\n const url = makeUrl(options.popupUrl, {\r\n url: options.url,\r\n title: options.title,\r\n });\r\n\r\n openPopup(\r\n this.addAdditionalParamsToUrl(url),\r\n config.prefix + this.service,\r\n options.popupWidth,\r\n options.popupHeight\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Append service data to URL\r\n *\r\n * @param {String} url\r\n * @returns {String}\r\n */\r\n addAdditionalParamsToUrl(url) {\r\n const parameters = query(merge(this.widget.dataset, this.options.data));\r\n const delimeter = url.indexOf('?') === -1 ? '?' : '&';\r\n\r\n return parameters === ''\r\n ? url\r\n : url + delimeter + parameters;\r\n }\r\n}\r\n\r\nexport default LikelyButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/button.js","/* eslint-disable consistent-return, no-param-reassign */\r\n\r\n/**\r\n * Factory function\r\n *\r\n * This function returns function with following API:\r\n *\r\n * - if passed argument is callback, then this callback would be called\r\n * if the value was changed\r\n * - if passed argument is anything but undefined or function, then this\r\n * function behaves like setter\r\n * - if argument isn't provided, then return value stored in closure\r\n *\r\n * @param {Object} value\r\n * @returns {Function}\r\n */\r\nexport default (value) => {\r\n const listeners = [];\r\n\r\n return (argument) => {\r\n const type = typeof argument;\r\n\r\n if (type === 'undefined') {\r\n return value;\r\n }\r\n else if (type === 'function') {\r\n listeners.push(argument);\r\n }\r\n else {\r\n value = argument;\r\n\r\n listeners.forEach((listener) => {\r\n listener(argument);\r\n });\r\n }\r\n };\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/factory.js","import Factory from './factory';\r\nimport { makeUrl } from './utils';\r\nimport services from './services';\r\n\r\nconst factories = {};\r\n\r\n/**\r\n * Fetch data\r\n *\r\n * @param {String} service\r\n * @param {String} url\r\n * @param {Object} options\r\n * @returns {Promise}\r\n */\r\nexport default (service, url, options) => {\r\n if (!factories[service]) {\r\n factories[service] = {};\r\n }\r\n\r\n const counters = factories[service];\r\n let counter = counters[url];\r\n\r\n if (!options.forceUpdate && counter) {\r\n return counter;\r\n }\r\n\r\n counter = Factory();\r\n\r\n const href = makeUrl(options.counterUrl, {\r\n url,\r\n });\r\n\r\n services[service].counter(href, counter, url);\r\n\r\n counters[url] = counter;\r\n return counter;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/fetch.js","const callbacks = [];\r\nconst handleUrlChange = () => {\r\n callbacks.forEach((callback) => {\r\n callback();\r\n });\r\n};\r\n\r\nconst setupHistoryWatcher = () => {\r\n const pushState = window.history.pushState;\r\n window.history.pushState = function () {\r\n // browser should change the url first\r\n setTimeout(handleUrlChange, 0);\r\n return pushState.apply(window.history, arguments);\r\n };\r\n\r\n const replaceState = window.history.replaceState;\r\n window.history.replaceState = function () {\r\n // browser should change the url first\r\n setTimeout(handleUrlChange, 0);\r\n return replaceState.apply(window.history, arguments);\r\n };\r\n\r\n window.addEventListener('popstate', handleUrlChange);\r\n};\r\n\r\nlet isWatchingHistory = false;\r\n\r\nconst history = {\r\n onUrlChange(callback) {\r\n if (!isWatchingHistory) {\r\n setupHistoryWatcher();\r\n isWatchingHistory = true;\r\n }\r\n\r\n callbacks.push(callback);\r\n },\r\n};\r\n\r\nexport default history;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/history.js","import { getJSON, global } from './dom';\r\n\r\n/**\r\n * @param {String} url\r\n * @param {Function} factory\r\n */\r\nconst counter = function (url, factory) {\r\n getJSON(url, (count) => {\r\n try {\r\n const convertedNumber = typeof this.convertNumber === 'function' ? this.convertNumber(count) : count;\r\n factory(convertedNumber);\r\n }\r\n catch (e) {}\r\n });\r\n};\r\n\r\n/**\r\n * @param {Object} options\r\n */\r\nexport default (options) => {\r\n // __likelyCounterMock is used for UI testing and is set on window\r\n // because this function is executed right when Likely is loaded.\r\n // There’s currently no way to do `likely.__counterMock = ...`\r\n // before running this method.\r\n options.counter = global.__likelyCounterMock || options.counter || counter;\r\n options.click = options.click || (() => true);\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/service.js","/**\r\n * Facebook service provider\r\n */\r\n\r\nexport default {\r\n counterUrl: 'https://graph.facebook.com/?id={url}&callback=?',\r\n convertNumber: (data) => data.share.share_count,\r\n popupUrl: 'https://www.facebook.com/sharer/sharer.php?u={url}',\r\n popupWidth: 600,\r\n popupHeight: 500,\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/facebook.js","/**\r\n * Google+ service provider\r\n */\r\n\r\nexport default {\r\n counterUrl: 'https://clients6.google.com/rpc',\r\n counter(counterUrl, callback, sharedUrl) {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open('POST', counterUrl);\r\n xhr.setRequestHeader('Content-Type', 'application/json');\r\n\r\n xhr.addEventListener('load', () => {\r\n const plusOneCount = JSON.parse(xhr.responseText)[0].result.metadata.globalCounts.count;\r\n callback(plusOneCount);\r\n });\r\n\r\n xhr.send(JSON.stringify([{\r\n method: 'pos.plusones.get',\r\n id: 'p',\r\n params: {\r\n nolog: true,\r\n id: sharedUrl,\r\n source: 'widget',\r\n userId: '@viewer',\r\n groupId: '@self',\r\n },\r\n jsonrpc: '2.0',\r\n key: 'p',\r\n apiVersion: 'v1',\r\n }]));\r\n },\r\n popupUrl: 'https://plus.google.com/share?url={url}',\r\n popupWidth: 700,\r\n popupHeight: 500,\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/gplus.js","/**\r\n * LinkedIn service provider\r\n */\r\n\r\nexport default {\r\n counterUrl: 'https://www.linkedin.com/countserv/count/share?url={url}&format=jsonp&callback=?',\r\n convertNumber: (data) => data.count,\r\n popupUrl: 'https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}',\r\n popupWidth: 600,\r\n popupHeight: 500,\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/linkedin.js","/**\r\n * Odnoklassniki service provider\r\n */\r\n\r\nimport { getScript, global } from '../dom';\r\nimport { makeUrl, set } from '../utils';\r\n\r\nconst odnoklassniki = {\r\n counterUrl: 'https://connect.ok.ru/dk?st.cmd=extLike&ref={url}&uid={index}',\r\n counter(url, promise) {\r\n this.promises.push(promise);\r\n\r\n getScript(makeUrl(url, {\r\n index: this.promises.length - 1,\r\n }));\r\n },\r\n promises: [],\r\n popupUrl: 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}',\r\n popupWidth: 640,\r\n popupHeight: 400,\r\n};\r\n\r\nset(global, 'ODKL.updateCount', (index, counter) => {\r\n odnoklassniki.promises[index](counter);\r\n});\r\n\r\nexport default odnoklassniki;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/odnoklassniki.js","/**\r\n * Pinterest service provider\r\n */\r\n\r\nexport default {\r\n counterUrl: 'https://api.pinterest.com/v1/urls/count.json?url={url}&callback=?',\r\n convertNumber: (counter) => counter.count,\r\n popupUrl: 'https://pinterest.com/pin/create/button/?url={url}&description={title}',\r\n popupWidth: 630,\r\n popupHeight: 270,\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/pinterest.js","/**\r\n * Telegram service provider\r\n */\r\n\r\nexport default {\r\n popupUrl: 'https://telegram.me/share/url?url={url}',\r\n popupWidth: 600,\r\n popupHeight: 500,\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/telegram.js","/**\r\n * Twitter service provider\r\n */\r\n\r\nexport default {\r\n popupUrl: 'https://twitter.com/intent/tweet?url={url}&text={title}',\r\n popupWidth: 600,\r\n popupHeight: 450,\r\n click() {\r\n if (!/[\\.\\?:\\-–—]\\s*$/.test(this.options.title)) {\r\n this.options.title += ':';\r\n }\r\n\r\n return true;\r\n },\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/twitter.js","/**\r\n * Vkontakte service provider\r\n */\r\n\r\nimport { getScript, global } from '../dom';\r\nimport { makeUrl, set } from '../utils';\r\n\r\nconst vkontakte = {\r\n counterUrl: 'https://vk.com/share.php?act=count&url={url}&index={index}',\r\n counter(url, promise) {\r\n this.promises.push(promise);\r\n\r\n getScript(makeUrl(url, {\r\n index: this.promises.length - 1,\r\n }));\r\n },\r\n promises: [],\r\n popupUrl: 'https://vk.com/share.php?url={url}&title={title}',\r\n popupWidth: 550,\r\n popupHeight: 330,\r\n};\r\n\r\nset(global, 'VK.Share.count', (index, count) => {\r\n vkontakte.promises[index](count);\r\n});\r\n\r\nexport default vkontakte;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/services/vk.js","/**\r\n * SVG icons for buttons\r\n * @type {Object}\r\n */\r\nexport default {\r\n facebook: '13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h5V9H6V7h2V5c0-2 2-2 2-2h3v2h-3v2h3l-.5 2H10v7h3c2 0 3-1 3-3V3c0-2-1-3-3-3',\r\n twitter: '15.96 3.42c-.04.153-.144.31-.237.414l-.118.058v.118l-.59.532-.237.295c-.05.036-.398.21-.413.237V6.49h-.06v.473h-.058v.294h-.058v.296h-.06v.235h-.06v.237h-.058c-.1.355-.197.71-.295 1.064h-.06v.116h-.06c-.02.1-.04.197-.058.296h-.06c-.04.118-.08.237-.118.355h-.06c-.038.118-.078.236-.117.353l-.118.06-.06.235-.117.06v.116l-.118.06v.12h-.06c-.02.057-.038.117-.058.175l-.118.06v.117c-.06.04-.118.08-.177.118v.118l-.237.177v.118l-.59.53-.532.592h-.117c-.06.078-.118.156-.177.236l-.177.06-.06.117h-.118l-.06.118-.176.06v.058h-.118l-.06.118-.353.12-.06.117c-.078.02-.156.04-.235.058v.06c-.118.038-.236.078-.354.118v.058H8.76v.06h-.12v.06h-.176v.058h-.118v.06H8.17v.058H7.99v.06l-.413.058v.06h-.237c-.667.22-1.455.293-2.36.293h-.886v-.058h-.53v-.06H3.27v-.06h-.295v-.06H2.68v-.057h-.177v-.06h-.236v-.058H2.09v-.06h-.177v-.058h-.177v-.06H1.56v-.058h-.12v-.06l-.294-.06v-.057c-.118-.04-.236-.08-.355-.118v-.06H.674v-.058H.555v-.06H.437v-.058H.32l-.06-.12H.142v-.058c-.13-.08-.083.026-.177-.118H1.56v-.06c.294-.04.59-.077.884-.117v-.06h.177v-.058h.237v-.06h.118v-.06h.177v-.057h.118v-.06h.177v-.058l.236-.06v-.058l.236-.06c.02-.038.04-.078.058-.117l.237-.06c.02-.04.04-.077.058-.117h.118l.06-.118h.118c.036-.025.047-.078.118-.118V12.1c-1.02-.08-1.84-.54-2.303-1.183-.08-.058-.157-.118-.236-.176v-.117l-.118-.06v-.117c-.115-.202-.268-.355-.296-.65.453.004.987.008 1.354-.06v-.06c-.254-.008-.47-.08-.65-.175v-.058H2.32v-.06c-.08-.02-.157-.04-.236-.058l-.06-.118h-.117l-.118-.178h-.12c-.077-.098-.156-.196-.235-.294l-.118-.06v-.117l-.177-.12c-.35-.502-.6-1.15-.59-2.006h.06c.204.234.948.377 1.357.415v-.06c-.257-.118-.676-.54-.827-.768V5.9l-.118-.06c-.04-.117-.08-.236-.118-.354h-.06v-.118H.787c-.04-.196-.08-.394-.118-.59-.06-.19-.206-.697-.118-1.005h.06V3.36h.058v-.177h.06v-.177h.057V2.83h.06c.04-.118.078-.236.117-.355h.118v.06c.12.097.237.196.355.295v.118l.118.058c.08.098.157.197.236.295l.176.06.354.413h.118l.177.236h.118l.06.117h.117c.04.06.08.118.118.177h.118l.06.118.235.06.06.117.356.12.06.117.53.176v.06h.118v.058l.236.06v.06c.118.02.236.04.355.058v.06h.177v.058h.177v.06h.176v.058h.236v.06l.472.057v.06l1.417.18v-.237c-.1-.112-.058-.442-.057-.65 0-.573.15-.99.354-1.358v-.117l.118-.06.06-.235.176-.118v-.118c.14-.118.276-.236.414-.355l.06-.117h.117l.12-.177.235-.06.06-.117h.117v-.058H9.7v-.058h.177v-.06h.177v-.058h.177v-.06h.296v-.058h1.063v.058h.294v.06h.177v.058h.178v.06h.177v.058h.118v.06h.118l.06.117c.08.018.158.038.236.058.04.06.08.118.118.177h.118l.06.117c.142.133.193.163.472.178.136-.12.283-.05.472-.118v-.06h.177v-.058h.177v-.06l.236-.058v-.06h.177l.59-.352v.176h-.058l-.06.295h-.058v.117h-.06v.118l-.117.06v.118l-.177.118v.117l-.118.06-.354.412h-.117l-.177.236h.06c.13-.112.402-.053.59-.117l1.063-.353',\r\n vkontakte: '13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zm.452 11.394l-1.603.022s-.345.068-.8-.243c-.598-.41-1.164-1.48-1.604-1.342-.446.144-.432 1.106-.432 1.106s.003.206-.1.315c-.11.12-.326.144-.326.144H7.87s-1.582.095-2.975-1.356c-1.52-1.583-2.862-4.723-2.862-4.723s-.078-.206.006-.305c.094-.112.35-.12.35-.12l1.716-.01s.162.026.277.11c.095.07.15.202.15.202s.276.7.643 1.335c.716 1.238 1.05 1.508 1.293 1.376.353-.193.247-1.75.247-1.75s.006-.565-.178-.817c-.145-.194-.415-.25-.534-.267-.096-.014.062-.238.267-.338.31-.15.853-.16 1.497-.153.502.004.646.035.842.083.59.143.39.694.39 2.016 0 .422-.075 1.018.23 1.215.13.085.453.013 1.256-1.352.38-.647.666-1.407.666-1.407s.062-.136.16-.194c.098-.06.232-.04.232-.04l1.804-.012s.542-.065.63.18c.092.257-.203.857-.94 1.84-1.21 1.612-1.345 1.46-.34 2.394.96.89 1.16 1.325 1.192 1.38.4.66-.44.71-.44.71',\r\n gplus: '8,6.5v3h4.291c-0.526,2.01-2.093,3.476-4.315,3.476C5.228,12.976,3,10.748,3,8c0-2.748,2.228-4.976,4.976-4.976c1.442,0,2.606,0.623,3.397,1.603L13.52,2.48C12.192,0.955,10.276,0,8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s7.5-3.582,7.5-8V6.5H8',\r\n pinterest: '7.99 0c-4.417 0-8 3.582-8 8 0 3.39 2.11 6.284 5.086 7.45-.07-.633-.133-1.604.028-2.295.145-.624.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.112.645-1.943 1.448-1.943.683 0 1.012.512 1.012 1.127 0 .686-.437 1.713-.663 2.664-.19.796.398 1.446 1.184 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.255-3.343-3.255-2.276 0-3.612 1.707-3.612 3.472 0 .688.265 1.425.595 1.826.065.08.075.15.055.23-.06.252-.195.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.835-4.84 5.287-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.74 4.976-4.152 4.976-.81 0-1.573-.42-1.834-.92l-.498 1.903c-.18.695-.668 1.566-.994 2.097.75.232 1.544.357 2.37.357 4.417 0 8-3.582 8-8s-3.583-8-8-8',\r\n odnoklassniki: '8 6.107c.888 0 1.607-.72 1.607-1.607 0-.888-.72-1.607-1.607-1.607s-1.607.72-1.607 1.607c0 .888.72 1.607 1.607 1.607zM13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zM8 .75c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75S4.25 6.57 4.25 4.5C4.25 2.43 5.93.75 8 .75zm3.826 12.634c.42.42.42 1.097 0 1.515-.21.208-.483.313-.758.313-.274 0-.548-.105-.758-.314L8 12.59 5.69 14.9c-.42.418-1.098.418-1.516 0s-.42-1.098 0-1.516L6.357 11.2c-1.303-.386-2.288-1.073-2.337-1.11-.473-.354-.57-1.025-.214-1.5.354-.47 1.022-.567 1.496-.216.03.022 1.4.946 2.698.946 1.31 0 2.682-.934 2.693-.943.474-.355 1.146-.258 1.5.213.355.474.26 1.146-.214 1.5-.05.036-1.035.723-2.338 1.11l2.184 2.184',\r\n telegram: '6,11.960784l-1,-3l11,-8l-15.378,5.914c0,0 -0.672,0.23 -0.619,0.655c0.053,0.425 0.602,0.619 0.602,0.619l3.575,1.203l1.62,5.154l2.742,-2.411l-0.007,-0.005l3.607,2.766c0.973,0.425 1.327,-0.46 1.327,-0.46l2.531,-13.435l-10,11z',\r\n linkedin: '2.4,6h2.4v7.6H2.4V6z M3.6,2.2c0.8,0,1.4,0.6,1.4,1.4C4.9,4.3,4.3,5,3.6,5C2.8,5,2.2,4.3,2.2,3.6C2.2,2.8,2.8,2.2,3.6,2.2C3.6,2.2,3.6,2.2,3.6,2.2 M6.2,6h2.3v1h0C9,6.2,9.9,5.8,10.8,5.8c2.4,0,2.8,1.6,2.8,3.6v4.2h-2.4V9.9c0-0.9,0-2-1.2-2c-1.2,0-1.4,1-1.4,2v3.8H6.2V6z M13,0H3C1,0,0,1,0,3v10c0,2,1,3,3,3h10c2,0,3-1,3-3V3C16,1,15,0,13,0z',\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/svg.js","import Button from './button';\r\n\r\nimport config from './config';\r\nimport { toArray } from './utils';\r\n\r\n/**\r\n * Main widget view\r\n *\r\n * @param {Node} container\r\n * @param {Object} options\r\n */\r\nclass Likely {\r\n constructor(container, options) {\r\n this.container = container;\r\n this.options = options;\r\n\r\n this.countersLeft = 0;\r\n this.buttons = [];\r\n this.number = 0;\r\n\r\n this.init();\r\n }\r\n\r\n /**\r\n * Initiate the social buttons widget\r\n */\r\n init() {\r\n toArray(this.container.children)\r\n .forEach(this.addButton.bind(this));\r\n\r\n if (this.options.counters) {\r\n this.timer = setTimeout(this.appear.bind(this), this.options.wait);\r\n this.timeout = setTimeout(this.ready.bind(this), this.options.timeout);\r\n }\r\n else {\r\n this.appear();\r\n }\r\n }\r\n\r\n /**\r\n * Add a button\r\n *\r\n * @param {Node} node\r\n */\r\n addButton(node) {\r\n const button = new Button(node, this, this.options);\r\n\r\n this.buttons.push(button);\r\n\r\n if (button.options.counterUrl) {\r\n this.countersLeft++;\r\n }\r\n }\r\n\r\n /**\r\n * Update the timer with URL\r\n *\r\n * @param {Object} options\r\n */\r\n update(options) {\r\n if (\r\n options.forceUpdate ||\r\n options.url && options.url !== this.options.url\r\n ) {\r\n this.countersLeft = this.buttons.length;\r\n this.number = 0;\r\n\r\n this.buttons.forEach((button) => {\r\n button.update(options);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Update counter\r\n *\r\n * @param {String} service\r\n * @param {Number} counter\r\n */\r\n updateCounter(service, counter) {\r\n if (counter) {\r\n this.number += counter;\r\n }\r\n\r\n this.countersLeft--;\r\n\r\n if (this.countersLeft === 0) {\r\n this.appear();\r\n this.ready();\r\n }\r\n }\r\n\r\n /**\r\n * Show the buttons with smooth animation\r\n */\r\n appear() {\r\n this.container.classList.add(`${config.name}_visible`);\r\n }\r\n\r\n /**\r\n * Get. Set. Ready.\r\n */\r\n ready() {\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n\r\n this.container.classList.add(`${config.name}_ready`);\r\n }\r\n }\r\n}\r\n\r\nexport default Likely;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/widget.js","// This module is an entry point when `likely.js` is just dropped into the browser.\r\n// It’s written with CommonJS imports and exports to make possible doing `module.exports = likely`.\r\n// This is required so that users work with `window.likely`, not `window.likely.default`\r\n\r\nconst likely = require('./index.js');\r\n\r\nwindow.addEventListener('load', () => {\r\n likely.initiate();\r\n});\r\n\r\nmodule.exports = likely;\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/likely.js"],"sourceRoot":""}