{"version":3,"file":"marquee.js","sources":["../node_modules/ip-regex/index.js","../node_modules/url-regex-safe/lib/index.js","../node_modules/style-inject/dist/style-inject.es.js","../src/main.js"],"sourcesContent":["'use strict';\n\nconst word = '[a-fA-F\\\\d:]';\nconst b = options => options && options.includeBoundaries ?\n\t`(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))` :\n\t'';\n\nconst v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n\nconst v6seg = '[a-fA-F\\\\d]{1,4}';\nconst v6 = `\n(?:\n(?:${v6seg}:){7}(?:${v6seg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6seg}:){6}(?:${v4}|:${v6seg}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6seg}:){5}(?::${v4}|(?::${v6seg}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6seg}:){4}(?:(?::${v6seg}){0,1}:${v4}|(?::${v6seg}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6seg}:){3}(?:(?::${v6seg}){0,2}:${v4}|(?::${v6seg}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6seg}:){2}(?:(?::${v6seg}){0,3}:${v4}|(?::${v6seg}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6seg}:){1}(?:(?::${v6seg}){0,4}:${v4}|(?::${v6seg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6seg}){0,5}:${v4}|(?::${v6seg}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim();\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\nconst v4exact = new RegExp(`^${v4}$`);\nconst v6exact = new RegExp(`^${v6}$`);\n\nconst ip = options => options && options.exact ?\n\tv46Exact :\n\tnew RegExp(`(?:${b(options)}${v4}${b(options)})|(?:${b(options)}${v6}${b(options)})`, 'g');\n\nip.v4 = options => options && options.exact ? v4exact : new RegExp(`${b(options)}${v4}${b(options)}`, 'g');\nip.v6 = options => options && options.exact ? v6exact : new RegExp(`${b(options)}${v6}${b(options)}`, 'g');\n\nmodule.exports = ip;\n","\"use strict\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar RE2 = require('re2');\n\nvar ipRegex = require('ip-regex');\n\nvar tlds = require('tlds');\n/* istanbul ignore next */\n\n\nvar SafeRegExp = typeof RE2 === 'function' ? RE2 : RegExp;\nvar ipv4 = ipRegex.v4().source;\nvar ipv6 = ipRegex.v6().source;\n\nmodule.exports = function (options) {\n options = _objectSpread({\n exact: false,\n strict: false,\n auth: false,\n localhost: true,\n parens: false,\n apostrophes: false,\n trailingPeriod: false,\n ipv4: true,\n ipv6: true,\n tlds: tlds,\n returnString: false\n }, options);\n var protocol = \"(?:(?:[a-z]+:)?//)\".concat(options.strict ? '' : '?'); // Add option to disable matching urls with HTTP Basic Authentication\n // \n\n var auth = options.auth ? '(?:\\\\S+(?::\\\\S*)?@)?' : '';\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\"; // Add ability to pass custom list of tlds\n // \n\n var tld = \"(?:\\\\.\".concat(options.strict ? \"(?:[a-z\\\\u00a1-\\\\uffff]{2,})\" : \"(?:\".concat(options.tlds.sort(function (a, b) {\n return b.length - a.length;\n }).join('|'), \")\"), \")\").concat(options.trailingPeriod ? '\\\\.?' : '');\n var port = '(?::\\\\d{2,5})?'; // Not accept closing parenthesis\n // \n // Don't allow apostrophes\n // \n\n var path = options.parens ? options.apostrophes ? '(?:[/?#][^\\\\s\"]*)?' : '(?:[/?#][^\\\\s\"\\']*)?' : options.apostrophes ? '(?:[/?#][^\\\\s\"\\\\)]*)?' : '(?:[/?#][^\\\\s\"\\\\)\\']*)?'; // Added IPv6 support\n // \n\n var regex = \"(?:\".concat(protocol, \"|www\\\\.)\").concat(auth, \"(?:\");\n if (options.localhost) regex += 'localhost|';\n if (options.ipv4) regex += \"\".concat(ipv4, \"|\");\n if (options.ipv6) regex += \"\".concat(ipv6, \"|\");\n regex += \"\".concat(host).concat(domain).concat(tld, \")\").concat(port).concat(path); // Add option to return the regex string instead of a RegExp\n\n if (options.returnString) return regex;\n return options.exact ? new SafeRegExp(\"(?:^\".concat(regex, \"$)\"), 'i') : new SafeRegExp(regex, 'ig');\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJSRTIiLCJyZXF1aXJlIiwiaXBSZWdleCIsInRsZHMiLCJTYWZlUmVnRXhwIiwiUmVnRXhwIiwiaXB2NCIsInY0Iiwic291cmNlIiwiaXB2NiIsInY2IiwibW9kdWxlIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJleGFjdCIsInN0cmljdCIsImF1dGgiLCJsb2NhbGhvc3QiLCJwYXJlbnMiLCJhcG9zdHJvcGhlcyIsInRyYWlsaW5nUGVyaW9kIiwicmV0dXJuU3RyaW5nIiwicHJvdG9jb2wiLCJob3N0IiwiZG9tYWluIiwidGxkIiwic29ydCIsImEiLCJiIiwibGVuZ3RoIiwiam9pbiIsInBvcnQiLCJwYXRoIiwicmVnZXgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBTUEsR0FBRyxHQUFHQyxPQUFPLENBQUMsS0FBRCxDQUFuQjs7QUFDQSxJQUFNQyxPQUFPLEdBQUdELE9BQU8sQ0FBQyxVQUFELENBQXZCOztBQUNBLElBQU1FLElBQUksR0FBR0YsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7QUFFQTs7O0FBQ0EsSUFBTUcsVUFBVSxHQUFHLE9BQU9KLEdBQVAsS0FBZSxVQUFmLEdBQTRCQSxHQUE1QixHQUFrQ0ssTUFBckQ7QUFDQSxJQUFNQyxJQUFJLEdBQUdKLE9BQU8sQ0FBQ0ssRUFBUixHQUFhQyxNQUExQjtBQUNBLElBQU1DLElBQUksR0FBR1AsT0FBTyxDQUFDUSxFQUFSLEdBQWFGLE1BQTFCOztBQUVBRyxNQUFNLENBQUNDLE9BQVAsR0FBaUIsVUFBQ0MsT0FBRCxFQUFhO0FBQzVCQSxFQUFBQSxPQUFPO0FBQ0xDLElBQUFBLEtBQUssRUFBRSxLQURGO0FBRUxDLElBQUFBLE1BQU0sRUFBRSxLQUZIO0FBR0xDLElBQUFBLElBQUksRUFBRSxLQUhEO0FBSUxDLElBQUFBLFNBQVMsRUFBRSxJQUpOO0FBS0xDLElBQUFBLE1BQU0sRUFBRSxLQUxIO0FBTUxDLElBQUFBLFdBQVcsRUFBRSxLQU5SO0FBT0xDLElBQUFBLGNBQWMsRUFBRSxLQVBYO0FBUUxkLElBQUFBLElBQUksRUFBRSxJQVJEO0FBU0xHLElBQUFBLElBQUksRUFBRSxJQVREO0FBVUxOLElBQUFBLElBQUksRUFBSkEsSUFWSztBQVdMa0IsSUFBQUEsWUFBWSxFQUFFO0FBWFQsS0FZRlIsT0FaRSxDQUFQO0FBZUEsTUFBTVMsUUFBUSwrQkFBd0JULE9BQU8sQ0FBQ0UsTUFBUixHQUFpQixFQUFqQixHQUFzQixHQUE5QyxDQUFkLENBaEI0QixDQWlCNUI7QUFDQTs7QUFDQSxNQUFNQyxJQUFJLEdBQUdILE9BQU8sQ0FBQ0csSUFBUixHQUFlLHNCQUFmLEdBQXdDLEVBQXJEO0FBQ0EsTUFBTU8sSUFBSSxHQUFHLCtEQUFiO0FBQ0EsTUFBTUMsTUFBTSxHQUNWLGdFQURGLENBckI0QixDQXVCNUI7QUFDQTs7QUFDQSxNQUFNQyxHQUFHLG1CQUNQWixPQUFPLENBQUNFLE1BQVIsR0FDSSw4QkFESixnQkFFVUYsT0FBTyxDQUFDVixJQUFSLENBQWF1QixJQUFiLENBQWtCLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVVBLENBQUMsQ0FBQ0MsTUFBRixHQUFXRixDQUFDLENBQUNFLE1BQXZCO0FBQUEsR0FBbEIsRUFBaURDLElBQWpELENBQXNELEdBQXRELENBRlYsTUFETyxjQUlMakIsT0FBTyxDQUFDTyxjQUFSLEdBQXlCLE1BQXpCLEdBQWtDLEVBSjdCLENBQVQ7QUFNQSxNQUFNVyxJQUFJLEdBQUcsZ0JBQWIsQ0EvQjRCLENBZ0M1QjtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxJQUFJLEdBQUduQixPQUFPLENBQUNLLE1BQVIsR0FDVEwsT0FBTyxDQUFDTSxXQUFSLEdBQ0Usb0JBREYsR0FFRSxzQkFITyxHQUlUTixPQUFPLENBQUNNLFdBQVIsR0FDQSx1QkFEQSxHQUVBLHlCQU5KLENBcEM0QixDQTRDNUI7QUFDQTs7QUFDQSxNQUFJYyxLQUFLLGdCQUFTWCxRQUFULHFCQUE0Qk4sSUFBNUIsUUFBVDtBQUNBLE1BQUlILE9BQU8sQ0FBQ0ksU0FBWixFQUF1QmdCLEtBQUssSUFBSSxZQUFUO0FBQ3ZCLE1BQUlwQixPQUFPLENBQUNQLElBQVosRUFBa0IyQixLQUFLLGNBQU8zQixJQUFQLE1BQUw7QUFDbEIsTUFBSU8sT0FBTyxDQUFDSixJQUFaLEVBQWtCd0IsS0FBSyxjQUFPeEIsSUFBUCxNQUFMO0FBQ2xCd0IsRUFBQUEsS0FBSyxjQUFPVixJQUFQLFNBQWNDLE1BQWQsU0FBdUJDLEdBQXZCLGNBQThCTSxJQUE5QixTQUFxQ0MsSUFBckMsQ0FBTCxDQWxENEIsQ0FvRDVCOztBQUNBLE1BQUluQixPQUFPLENBQUNRLFlBQVosRUFBMEIsT0FBT1ksS0FBUDtBQUUxQixTQUFPcEIsT0FBTyxDQUFDQyxLQUFSLEdBQ0gsSUFBSVYsVUFBSixlQUFzQjZCLEtBQXRCLFNBQWlDLEdBQWpDLENBREcsR0FFSCxJQUFJN0IsVUFBSixDQUFlNkIsS0FBZixFQUFzQixJQUF0QixDQUZKO0FBR0QsQ0ExREQiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSRTIgPSByZXF1aXJlKCdyZTInKTtcbmNvbnN0IGlwUmVnZXggPSByZXF1aXJlKCdpcC1yZWdleCcpO1xuY29uc3QgdGxkcyA9IHJlcXVpcmUoJ3RsZHMnKTtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IFNhZmVSZWdFeHAgPSB0eXBlb2YgUkUyID09PSAnZnVuY3Rpb24nID8gUkUyIDogUmVnRXhwO1xuY29uc3QgaXB2NCA9IGlwUmVnZXgudjQoKS5zb3VyY2U7XG5jb25zdCBpcHY2ID0gaXBSZWdleC52NigpLnNvdXJjZTtcblxubW9kdWxlLmV4cG9ydHMgPSAob3B0aW9ucykgPT4ge1xuICBvcHRpb25zID0ge1xuICAgIGV4YWN0OiBmYWxzZSxcbiAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIGF1dGg6IGZhbHNlLFxuICAgIGxvY2FsaG9zdDogdHJ1ZSxcbiAgICBwYXJlbnM6IGZhbHNlLFxuICAgIGFwb3N0cm9waGVzOiBmYWxzZSxcbiAgICB0cmFpbGluZ1BlcmlvZDogZmFsc2UsXG4gICAgaXB2NDogdHJ1ZSxcbiAgICBpcHY2OiB0cnVlLFxuICAgIHRsZHMsXG4gICAgcmV0dXJuU3RyaW5nOiBmYWxzZSxcbiAgICAuLi5vcHRpb25zXG4gIH07XG5cbiAgY29uc3QgcHJvdG9jb2wgPSBgKD86KD86W2Etel0rOik/Ly8pJHtvcHRpb25zLnN0cmljdCA/ICcnIDogJz8nfWA7XG4gIC8vIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBtYXRjaGluZyB1cmxzIHdpdGggSFRUUCBCYXNpYyBBdXRoZW50aWNhdGlvblxuICAvLyA8aHR0cHM6Ly9naXRodWIuY29tL2tldnZhL3VybC1yZWdleC9wdWxsLzYzPlxuICBjb25zdCBhdXRoID0gb3B0aW9ucy5hdXRoID8gJyg/OlxcXFxTKyg/OjpcXFxcUyopP0ApPycgOiAnJztcbiAgY29uc3QgaG9zdCA9ICcoPzooPzpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV1bLV9dKikqW2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKyknO1xuICBjb25zdCBkb21haW4gPVxuICAgICcoPzpcXFxcLig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmMC05XS0qKSpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV0rKSonO1xuICAvLyBBZGQgYWJpbGl0eSB0byBwYXNzIGN1c3RvbSBsaXN0IG9mIHRsZHNcbiAgLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9rZXZ2YS91cmwtcmVnZXgvcHVsbC82Nj5cbiAgY29uc3QgdGxkID0gYCg/OlxcXFwuJHtcbiAgICBvcHRpb25zLnN0cmljdFxuICAgICAgPyAnKD86W2EtelxcXFx1MDBhMS1cXFxcdWZmZmZdezIsfSknXG4gICAgICA6IGAoPzoke29wdGlvbnMudGxkcy5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKS5qb2luKCd8Jyl9KWBcbiAgfSkke29wdGlvbnMudHJhaWxpbmdQZXJpb2QgPyAnXFxcXC4/JyA6ICcnfWA7XG5cbiAgY29uc3QgcG9ydCA9ICcoPzo6XFxcXGR7Miw1fSk/JztcbiAgLy8gTm90IGFjY2VwdCBjbG9zaW5nIHBhcmVudGhlc2lzXG4gIC8vIDxodHRwczovL2dpdGh1Yi5jb20va2V2dmEvdXJsLXJlZ2V4L3B1bGwvMzU+XG4gIC8vIERvbid0IGFsbG93IGFwb3N0cm9waGVzXG4gIC8vIDxodHRwczovL2dpdGh1Yi5jb20va2V2dmEvdXJsLXJlZ2V4L3B1bGwvNTU+XG4gIGNvbnN0IHBhdGggPSBvcHRpb25zLnBhcmVuc1xuICAgID8gb3B0aW9ucy5hcG9zdHJvcGhlc1xuICAgICAgPyAnKD86Wy8/I11bXlxcXFxzXCJdKik/J1xuICAgICAgOiAnKD86Wy8/I11bXlxcXFxzXCJcXCddKik/J1xuICAgIDogb3B0aW9ucy5hcG9zdHJvcGhlc1xuICAgID8gJyg/OlsvPyNdW15cXFxcc1wiXFxcXCldKik/J1xuICAgIDogJyg/OlsvPyNdW15cXFxcc1wiXFxcXClcXCddKik/JztcblxuICAvLyBBZGRlZCBJUHY2IHN1cHBvcnRcbiAgLy8gPGh0dHBzOi8vZ2l0aHViLmNvbS9rZXZ2YS91cmwtcmVnZXgvaXNzdWVzLzYwPlxuICBsZXQgcmVnZXggPSBgKD86JHtwcm90b2NvbH18d3d3XFxcXC4pJHthdXRofSg/OmA7XG4gIGlmIChvcHRpb25zLmxvY2FsaG9zdCkgcmVnZXggKz0gJ2xvY2FsaG9zdHwnO1xuICBpZiAob3B0aW9ucy5pcHY0KSByZWdleCArPSBgJHtpcHY0fXxgO1xuICBpZiAob3B0aW9ucy5pcHY2KSByZWdleCArPSBgJHtpcHY2fXxgO1xuICByZWdleCArPSBgJHtob3N0fSR7ZG9tYWlufSR7dGxkfSkke3BvcnR9JHtwYXRofWA7XG5cbiAgLy8gQWRkIG9wdGlvbiB0byByZXR1cm4gdGhlIHJlZ2V4IHN0cmluZyBpbnN0ZWFkIG9mIGEgUmVnRXhwXG4gIGlmIChvcHRpb25zLnJldHVyblN0cmluZykgcmV0dXJuIHJlZ2V4O1xuXG4gIHJldHVybiBvcHRpb25zLmV4YWN0XG4gICAgPyBuZXcgU2FmZVJlZ0V4cChgKD86XiR7cmVnZXh9JClgLCAnaScpXG4gICAgOiBuZXcgU2FmZVJlZ0V4cChyZWdleCwgJ2lnJyk7XG59O1xuIl19","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Events, UIContainerPlugin, $ } from '@clappr/core';\nimport urlRegex from 'url-regex-safe';\nimport './public/style.scss';\nimport icon from './public/icon.svg';\nimport icon_disabled from './public/icon_disabled.svg';\n\nexport default class Marquee extends UIContainerPlugin {\n\tconstructor(container) {\n\t\tsuper(container);\n\t\tthis.configure();\n\t}\n\n\tget version() { return VERSION; }\n\tget supportedVersion() { return { min: CLAPPR_CORE_VERSION }; }\n\n\tget name() {\n\t\treturn 'marquee';\n\t}\n\n\tget attributes() {\n\t\treturn {\n\t\t\t'class': this.name,\n\t\t\t'data-marquee': ''\n\t\t};\n\t}\n\n\tget events() {\n\t\treturn {};\n\t}\n\n\tbindEvents() {\n\t\tthis.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_SHOW, () => {\n\t\t\tif (this.cfg && this.cfg.position === 'bottom') {\n\t\t\t\t// Move the marquee up such that it will not be covered by the mediacontrol\n\t\t\t\tconst offset = 2 * $('.media-control-layer').height();\n\n\t\t\t\tconst currentOffset = parseInt(this.$el.css('bottom'));\n\n\t\t\t\tif (currentOffset < offset) {\n\t\t\t\t\tthis.$el.css('bottom', offset + 'px');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_HIDE, () => {\n\t\t\tif (this.cfg && this.cfg.position === 'bottom') {\n\t\t\t\tthis.$el.css('bottom', this.cfg.offset);\n\t\t\t}\n\t\t});\n\t\tthis.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.configure);\n\t\tthis.listenTo(this.container, Events.CONTAINER_RESIZE, () => {\n\t\t\tthis.pause();\n\t\t\tthis.start(true);\n\t\t});\n\t\tthis.listenTo(this.container, Events.CONTAINER_PLAY, () => {\n\t\t\tthis.show();\n\t\t\tthis.start(true);\n\t\t});\n\n\t\tthis.listenTo(this.container, Events.CONTAINER_STOP, () => {\n\t\t\tthis.hide();\n\t\t\tthis.pause();\n\t\t});\n\n\t\tdocument.addEventListener('fullscreenchange', () => {\n\t\t\tthis.resize();\n\t\t});\n\t\twindow.addEventListener('resize', () => {\n\t\t\tthis.resize();\n\t\t});\n\t}\n\n\tconfigure() {\n\t\t// Defaults\n\t\tthis.cfg = {\n\t\t\ttext: '',\n\t\t\tspeed: 10,\n\t\t\tfps: 25,\n\t\t\tdirection: 'left',\n\t\t\tposition: 'top',\n\t\t\toffset: '0px',\n\t\t\theight: '40px',\n\t\t\tstyle: {},\n\t\t\tlinkStyle: {},\n\t\t\tpauseOnHover: true\n\t\t};\n\n\t\tconst cfg = this.options.marqueeConfig || {};\n\n\t\tif ('text' in cfg) {\n\t\t\tthis.cfg.text = cfg.text;\n\t\t}\n\n\t\tif ('speed' in cfg) {\n\t\t\tthis.cfg.speed = parseInt(cfg.speed);\n\t\t}\n\n\t\tif ('fps' in cfg) {\n\t\t\tthis.cfg.fps = parseInt(cfg.fps);\n\t\t}\n\n\t\tif ('direction' in cfg) {\n\t\t\tif (cfg.direction === 'right') {\n\t\t\t\tthis.cfg.direction = 'right';\n\t\t\t}\n\t\t}\n\n\t\tif ('style' in cfg) {\n\t\t\tif (typeof cfg.style === 'object') {\n\t\t\t\tthis.cfg.style = cfg.style;\n\t\t\t}\n\t\t}\n\n\t\tif ('linkStyle' in cfg) {\n\t\t\tif (typeof cfg.linkStyle === 'object') {\n\t\t\t\tthis.cfg.linkStyle = cfg.linkStyle;\n\t\t\t}\n\t\t}\n\n\t\tif ('pauseOnHover' in cfg) {\n\t\t\tthis.cfg.pauseOnHover = !!(cfg.pauseOnHover);\n\t\t}\n\n\t\tif ('position' in cfg) {\n\t\t\tif (cfg.position === 'bottom') {\n\t\t\t\tthis.cfg.position = 'bottom';\n\t\t\t}\n\t\t}\n\n\t\tif ('offset' in cfg) {\n\t\t\tthis.cfg.offset = cfg.offset;\n\t\t}\n\n\t\tif ('height' in cfg) {\n\t\t\tthis.cfg.height = cfg.height;\n\t\t}\n\n\t\tthis.state = {\n\t\t\tcontainer: null,\n\t\t\tdiv: null,\n\t\t\tposition: 0,\n\t\t\tinterval: null,\t// ticker for the animation\n\t\t\tresize: null, // delay recalculation of elements during resize\n\t\t\tstepsize: this.cfg.speed / this.cfg.fps,\n\t\t\twindowWidth: 0,\n\t\t\ttextWidth: 0,\n\t\t};\n\n\t\tthis.render();\n\t}\n\n\tdestroy() {\n\t\tthis.$el.remove();\n\t}\n\n\tenable() {\n\t\tthis.enabled = true;\n\n\t\tthis.show();\n\t\tthis.start(true);\n\t}\n\n\tdisable() {\n\t\tthis.enabled = false;\n\n\t\tthis.hide();\n\t\tthis.pause();\n\t}\n\n\trender() {\n\t\tlet container = document.createElement('div');\n\t\tcontainer.style.position = 'absolute';\n\t\tcontainer.style.width = '100%';\n\n\t\tlet div = document.createElement('div');\n\t\tdiv.style.position = 'absolute';\n\t\tdiv.style.left = '0px';\n\n\t\tlet matches = [];\n\t\tlet match = null;\n\n\t\t// Parse the text for links\n\t\tlet re = urlRegex({\n\t\t\texact: false,\n\t\t\tstrict: false,\n\t\t\tauth: false,\n\t\t\tlocalhost: false,\n\t\t\tparens: false,\n\t\t\tapostrophes: false,\n\t\t\ttrailingPeriod: false,\n\t\t\tipv4: false,\n\t\t\tipv6: false,\n\t\t\treturnString: false,\n\t\t});\n\n\t\twhile ((match = re.exec(this.cfg.text)) !== null) {\n\t\t\t// This is necessary to avoid infinite loops with zero-width matches\n\t\t\tif (match.index === re.lastIndex) {\n\t\t\t\tre.lastIndex++;\n\t\t\t}\n\n\t\t\tlet link = document.createElement('a');\n\n\t\t\tif (/^https?:\\/\\//.test(match[0])) {\n\t\t\t\tlink.href = match[0];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlink.href = 'https://' + match[0];\n\t\t\t}\n\n\t\t\tlink.setAttribute('target', '_blank');\n\t\t\tfor (let key in this.cfg.linkStyle) {\n\t\t\t\tlink.style[key] = this.cfg.linkStyle[key];\n\t\t\t}\n\t\t\tlink.append(document.createTextNode(match[0]));\n\n\t\t\tmatches.push({\n\t\t\t\telement: link,\n\t\t\t\tstart: match.index,\n\t\t\t\tend: re.lastIndex\n\t\t\t});\n\t\t}\n\n\t\tif (matches.length == 0) {\n\t\t\tdiv.append(document.createTextNode(this.cfg.text));\n\t\t}\n\t\telse {\n\t\t\tlet pos = 0;\n\n\t\t\tfor (let m of matches) {\n\t\t\t\tlet text = this.cfg.text.substring(pos, m.start);\n\t\t\t\tif (text.length != 0) {\n\t\t\t\t\tdiv.append(document.createTextNode(text));\n\t\t\t\t}\n\n\t\t\t\tdiv.append(m.element);\n\n\t\t\t\tpos = m.end;\n\t\t\t}\n\n\t\t\tlet text = this.cfg.text.substring(pos);\n\t\t\tif (text.length != 0) {\n\t\t\t\tdiv.append(document.createTextNode(text));\n\t\t\t}\n\t\t}\n\n\t\tcontainer.append(div);\n\t\tcontainer.append(document.createElement('hr'));\n\n\t\tthis.state.div = div;\n\t\tthis.state.container = container;\n\n\t\tthis.$el.empty();\n\t\tthis.$el.append(this.state.container);\n\n\t\tif (this.cfg.pauseOnHover == true) {\n\t\t\tthis.$el.mouseover(() => {\n\t\t\t\tthis.pause();\n\t\t\t});\n\n\t\t\tthis.$el.mouseleave(() => {\n\t\t\t\tthis.start(false);\n\t\t\t});\n\t\t}\n\n\t\tfor (let key in this.cfg.style) {\n\t\t\tthis.$el.css(key, this.cfg.style[key]);\n\t\t}\n\n\t\tif (this.cfg.position == 'bottom') {\n\t\t\tthis.$el.css('bottom', this.cfg.offset);\n\t\t}\n\t\telse {\n\t\t\tthis.$el.css('top', this.cfg.offset);\n\t\t}\n\n\t\tthis.$el.css('height', this.cfg.height);\n\n\t\tthis.$el.css('opacity', 0);\n\t\tthis.$el.hide();\n\n\t\tthis.$el.remove();\n\t\tthis.container.$el.append(this.$el);\n\t}\n\n\tresize() {\n\t\tif (!this.state) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.state.resize !== null) {\n\t\t\tclearTimeout(this.state.resize);\n\t\t\tthis.state.resize = null;\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.pause();\n\t\tthis.state.resize = setTimeout(() => {\n\t\t\tthis.state.resize = null;\n\t\t\tthis.show();\n\t\t\tthis.start(true);\n\t\t}, 1000);\n\t}\n\n\tupdate() {\n\t\tthis.state.div.style.left = Math.round(this.state.position) + 'px';\n\t}\n\n\tshow() {\n\t\tif (this.enabled === true && this.cfg.text.length == 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$el.show();\n\t\tthis.$el.css('opacity', 1);\n\t}\n\n\thide() {\n\t\tthis.$el.css('opacity', 0);\n\t\tthis.$el.hide();\n\t}\n\n\tstart(recalculate) {\n\t\tif (this.state.interval !== null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (recalculate === true) {\n\t\t\t// The width of the player (w)\n\t\t\tthis.state.windowWidth = this.container.$el.width();\n\t\t\t// The width of the text (t)\n\t\t\tthis.state.textWidth = this.state.div.clientWidth;\n\n\t\t\t// 0 t w+t w+2t\n\t\t\t// |--text--|------------player-----------|--text--|\n\t\t\t// <- |--text--| ->\n\t\t\tthis.state.container.style.width = (this.state.windowWidth + 2 * this.state.textWidth) + 'px';\n\t\t\tthis.state.container.style.left = -this.state.textWidth + 'px';\n\n\t\t\tif (this.cfg.direction == 'right') {\n\t\t\t\tthis.state.position = 0;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.state.position = this.state.windowWidth + this.state.textWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis.update();\n\n\t\tthis.state.interval = setInterval(() => {\n\t\t\tif (this.cfg.direction == 'right') {\n\t\t\t\tthis.state.position += this.state.stepsize;\n\t\t\t\tif (this.state.position >= this.state.windowWidth + this.state.textWidth) {\n\t\t\t\t\tthis.state.position = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.state.position -= this.state.stepsize;\n\t\t\t\tif (this.state.position <= 0) {\n\t\t\t\t\tthis.state.position = this.state.windowWidth + this.state.textWidth;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.update();\n\t\t}, 1000 / this.cfg.fps);\n\t}\n\n\tpause() {\n\t\tclearInterval(this.state.interval);\n\t\tthis.state.interval = null;\n\t}\n\n\t// PluginControl interface\n\tpluginControl() {\n\t\tlet self = this;\n\n\t\tif (this.cfg.text.length == 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\ticon: function() {\n\t\t\t\tif (self.enabled === true) {\n\t\t\t\t\treturn icon;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn icon_disabled;\n\t\t\t\t}\n\t\t\t},\n\t\t\tname: function(lang = 'en') {\n\t\t\t\tlet name = 'Marquee';\n\n\t\t\t\tswitch (lang) {\n\t\t\t\tcase 'de': name = 'Lauftext'; break;\n\t\t\t\t}\n\n\t\t\t\treturn name;\n\t\t\t},\n\t\t\ttoggle: function() {\n\t\t\t\tif (self.enabled === true) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tself.enable();\n\t\t\t\t}\n\n\t\t\t\treturn self.enabled;\n\t\t\t},\n\t\t\ttoggled: function() {\n\t\t\t\treturn self.enabled;\n\t\t\t}\n\t\t};\n\t}\n}\n"],"names":["Marquee","container","configure","min","name","listenTo","Events","CONTAINER_MEDIACONTROL_SHOW","cfg","position","offset","$","height","currentOffset","parseInt","$el","css","CONTAINER_MEDIACONTROL_HIDE","CONTAINER_OPTIONS_CHANGE","CONTAINER_RESIZE","pause","start","CONTAINER_PLAY","show","CONTAINER_STOP","hide","document","addEventListener","resize","window","text","speed","fps","direction","style","linkStyle","pauseOnHover","options","marqueeConfig","state","div","interval","stepsize","windowWidth","textWidth","render","remove","enabled","createElement","width","left","matches","match","re","urlRegex","exact","strict","auth","localhost","parens","apostrophes","trailingPeriod","ipv4","ipv6","returnString","exec","index","lastIndex","link","test","href","setAttribute","key","append","createTextNode","push","element","end","length","pos","m","substring","empty","mouseover","mouseleave","clearTimeout","setTimeout","Math","round","recalculate","clientWidth","update","setInterval","clearInterval","self","icon","icon_disabled","lang","toggle","disable","enable","toggled","UIContainerPlugin"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}